Делаю инвентарь, нужно чтоб при процедуре создания предмета на сцене (тоесть при дропе его из инвентаря), у него указывался GameObject symbol, ТК через него предмет и поднимается. Пробовал через FindGameObjectWithTag, но не работает.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class pickup : MonoBehaviour
{
public GameObject symbol;
public bool inCol = false;
public awef script;
public bool ItemPressed = false;
public inventory inv;
public GameObject slotButton;
void Start()
{
inv = GameObject.FindGameObjectWithTag("Player").GetComponent<inventory>();
script = GameObject.FindGameObjectWithTag("Player").GetComponent<awef>();
symbol = GameObject.FindGameObjectWithTag("PickUpButton");
}
private void Update()
{
if (inCol)
symbol.SetActive(true);
else
symbol.SetActive(false);
}
private void OnTriggerExit2D(Collider2D collision)
{
inCol = false;
}
private void OnTriggerStay2D(Collider2D colll)
{
inCol = true;
if (colll.gameObject.tag == "Player" && ItemPressed == true)
{
for (int i = 0; i < inv.slots.Length; i++)
{
if (gameObject.name == "amulet_Emile")
{
script.amuletGet = true;
}
if(inv.slotFull[i] == false)
{
inv.slotFull[i] = true;
Instantiate(slotButton, inv.slots[i].transform);
Destroy(gameObject);
inCol = false;
symbol.SetActive(false);
break;
}
}
}
}
public void Press()
{
StartCoroutine(activate());
}
private IEnumerator activate()
{
ItemPressed = true;
yield return new WaitForSeconds(1);
ItemPressed = false;
}
}