Ссылка на GameObject, к которому прикреплен скрипт
Здраствуйте
У меня есть в скрипте GameObject, являющийся объектом, к которому прикреплен скрипт. Проблема заключается в том, что сам скрипт прикреплен к нескольким объектам и надо получить из скрипта ссылку на этот объект. Получить по тегу или по имени не получается, т.к. у каждого объекта свой тег и своё имя. Не совсем понимаю как получить его из самого скрипта.
При попытке получить ссылку через FindObjectOfType находит первый возможный GameObject. Найти информации как получить в такой ситуации ссылку на объект не вышло, т.к. обычно находят объект через имя или тег.
Сам код
using UnityEngine;
public class SortGameObjects : MonoBehaviour
{
public GameObject Player;
public GameObject EnemiAndBlocks;
private void Start()
{
Player = GameObject.FindGameObjectWithTag("Player");
}
public void Update()
{
FindEnemiesAndBlocks();
}
private void FindEnemiesAndBlocks()
{
if (Player.GetComponent<Transform>().position.y > EnemiAndBlocks.GetComponent<Transform>().position.y)
EnemiAndBlocks.GetComponent<Renderer>().sortingOrder = 2;
else
EnemiAndBlocks.GetComponent<Renderer>().sortingOrder = 0;
}
}
upd: проблема оказалась в том, что скрипт выполнялся даже без ссылки на объект, сам объект находился без проблем.
Ответы (1 шт):
Любой компонент в Unity имеет ссылку на игровой объект, к которому он прикреплен. Это ссылка доступна через свойство gameObject.
private void Update()
{
GameObject attached = gameObject;
}