Я пытаюсь изменить элемент 2-го символа во время выполнения.Я использовал приведенный ниже код, и он, похоже, не меняет спрайт персонажа вообще.Нет ошибок или что-нибудь, но физический спрайт не меняется.Я использовал Debug.Log, чтобы увидеть, вызваны ли методы (которые они есть).Я также включил несколько скриншотов, как это внутри инспектора.
Вот что у меня есть.
InventoryPanel.cs
public CharacterAppeance ca;
if (item.location == ItemLocation.Boot)//This is set in ItemData.ca
{
ca.SetBoot(item.appaerance[0], item.appaerance[1]);
}
CharacterApperance.cs
public SpriteRenderer leg1ArmorRenderer;
public SpriteRenderer leg2ArmorRenderer;
public SpriteRenderer pelvisArmorRenderer;
public SpriteRenderer shin1ArmorRenderer;
public SpriteRenderer shin2ArmorRenderer;
public void SetBoot(Sprite leg, Sprite shin)
{
leg1ArmorRenderer.sprite = leg;
leg2ArmorRenderer.sprite = leg;
shin1ArmorRenderer.sprite = shin;
shin2ArmorRenderer.sprite = shin;
}
ItemData.cs
public Sprite[] appaerance;
Данные элемента в Инспекторе: http://prntscr.com/nbvgj9
Символьный вход в Инспекторе: http://prntscr.com/nbvh7w
Панель инвентаризации в Инспекторе: http://prntscr.com/nbvhlr
Спасибо всем, кто помогает:)