Как заставить GameObject иметь параметр в единстве (C#)?
Пожалуйста, помогите мне, как получить значение "currentPeople.timeCount;" например у меня есть скрипт:
public class BuildingPlacement : MonoBehaviour
{
public GameObject currentPeople;public int DelayTime;private int timeCount;
}
если я хочу сказать, что
DelayTime = currentPeople.timeCount;
я пытаюсь этот код ниже, и он говорит, что ссылка на объект nullreferenceexception не установлена на экземпляр объекта:
DelayTime = (BuildingPlacement)currentPeople.GetComponent(typeof(BuildingPlacement).timeCount);
Как я могу получить значение currentPeople.timeCount
? Является ли это возможным?
1 ответ
Вы не можете добавить переменную в GameObject, как указано в исходном вопросе. Весьма вероятно, что вы захотите добавить скрипт в GameObject, который также делает timeCount
переменная доступна для этого GameObject.
Если это так, выберите currentPeople
GameObject и перетащите BuildingPlacement
Сценарий к нему в редакторе. Это называется прикреплением скрипта к GameObject. Вы также можете сделать это с помощью кода:
currentPeople.AddComponent<BuildingPlacement>();
Чтобы получить доступ к timeCount
переменная, которая находится в BuildingPlacement
скрипт, который прикреплен к currentPeople
GameObject:
int value = currentPeople.GetComponent<BuildingPlacement>().timeCount;
Кажется, вам не хватает базовых знаний об Unity. Вы можете начать отсюда.