@kontay

Как можно у нового префаба постоянно при создании указывать один объект находящийся на сцене?

Делаю инвентарь, нужно чтоб при процедуре создания предмета на сцене (тоесть при дропе его из инвентаря), у него указывался 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;
    }
}
  • Вопрос задан
  • 23 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы