Я следовал этому руководству: «https://www .youtube.com/watch?v=AoD_F1fSFFg" и нахожусь в тот момент, когда, когда вы берете предмет, он отображается в вашем инвентаре.
Вместо спрайтов, отображаемых в инвентаре, я хочу, чтобы они появлялись в три игровых объекта вокруг игрока, но я не знаю, как это сделать. Пожалуйста, помогите.

public class GhostManager : MonoBehaviour
{
public static GhostManager Instance;
public List Ghosts = new List();
public GameObject ghost1;
public GameObject ghost2;
public GameObject ghost3;
private void Awake()
{
Instance = this;
}
public void Add(Ghost ghost)
{
Ghosts.Add(ghost);
}
public void Remove(Ghost ghost)
{
Ghosts.Remove(ghost);
}
public void ListItems()
{
foreach (var ghost in Ghosts)
{
GameObject obj = Instantiate(ghost1);
var ghostIcon = obj.transform.Find("GhostIcon").GetComponent();
ghostIcon.sprite = ghost.icon;
}
}
}
public class GhostPickUp : MonoBehaviour
{
public Ghost ghost;
private int maxGhosts = 3;
void PickUp()
{
if (GhostManager.Instance.Ghosts.Count < maxGhosts)
{
GhostManager.Instance.Add(ghost);
Destroy(gameObject);
}
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Player"))
{
PickUp();
}
}
}
[CreateAssetMenu(fileName = "New Ghost", menuName = "Ghosts/Create New Ghosts")]
public class Ghost : ScriptableObject
{
public int id;
public string itemName;
public int value;
public Sprite icon;
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... gameobject
Мобильная версия