2016-12-27 9 views
-1

, пожалуйста, помогите мне, как получить значение «currentPeople.timeCount;» , например, у меня есть скрипт:Как заставить GameObject иметь параметр в единстве (C#)?

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

Задайте свой вопрос и код здесь. Не загружайте вопрос как изображение – Programmer

+0

спасибо за исправление, сначала используя stackoverflow haha ​​ –

+0

это так? я имею в виду сначала GameObject currentPeople не имеет currentPeople.timeCount, но я хочу получить значение currentPeople.timeCount, –

ответ

1

Вы не можете добавить переменную в GameObject, как указано в вопросе original. Скорее всего, вы хотите добавить скрипт в GameObject, который также делает переменную timeCount доступной для этого GameObject.

Если это так, то выберите GameObject currentPeople и перетащите в него редактор BuildingPlacement. Это называется прикреплением скрипта к GameObject. Вы также можете сделать это с помощью кода с:

currentPeople.AddComponent<BuildingPlacement>(); 

Чтобы получить доступ к timeCount переменной, которая находится в BuildingPlacement скрипт, который прилагается к currentPeople GameObject:

int value = currentPeople.GetComponent<BuildingPlacement>().timeCount; 

Похоже, вам не хватает основной знание единства. Вы можете начать с here.

+1

Кроме того, переменная 'timeCount' должна быть опубликована, поэтому' private int timeCount' должен быть 'public int timeCount' – Programmer

+1

Спасибо за вашу помощь, это работает, да, я начинаю использовать единство serveral weeks ago haha –