Hi again folks! It’s me again and another stupid question about runtime resource loading.
I try to code some ingame shop, I don’t use any item manager system or scriptable objects for now. Few items just hardcoded in script.
So, for example I has that item:
public virtual void SelectItem(int item)
{
switch (item)
{
case 0: // One chiken leg
selectedShopItem = 0;
itemPrice = 3;
itemName = "One chicken leg";
itemDesc = "Restore 1 hunger";
itemIcon = Resources.Load<Sprite>("Items/food_meat_1");
itemRestoreHP = 1.0f;
itemRestoreMP = 0;
UIManager.Instance.LoadSelectedItem(itemName, itemDesc, itemPrice, itemIcon);
selectedItemPanel.SetActive(true);
break;
My UIManager has next function LoadSelectedItem()
public void LoadSelectedItem(string itemName, string itemDesc, int itemPrice, Sprite itemIcon)
{
shopSelectedItemNameText.text = itemName;
shopSelectedItemDescText.text = itemDesc;
shopSelectedItemIcon.sprite = itemIcon;
shopSelectedItemPrice.text = itemPrice.ToString();
}
So I just drug and drop needed UI elements in Inspector to variables at my Canvas, UIManager also attached to Canvas, that section clear for me. Also like selectedItemPanel attached to my shop keeper object.
I has next folders structure:
- Assets
– Resources
— Items
---- food_meat (spritesheet), TextureType - Sprite 2D and UI
As you can see I want to load sprite image to my shop interface, logically when player click to item, selectedItemPanel enabled and player can see what he pick and read some info. But for now I get only white square.
I think the answer is near and I just miss something in paths or Sprite variable or some way to load single sprite from spriteshit. I read forums and question on stackoverflow but can’t find answer what I do wrong. So help me a bit, please.