У меня есть небольшая программа, которую я пишу. У меня есть несколько небольших выражений, которые я ищу для доступа из другого сценария. Проблема заключается в том, что когда я получаю возврат в инспекторе (что правильно), другой скрипт не распознает его. По моим исследованиям, кажется, что void не является правильным типом возврата функции, и мне нужно что-то еще.Возвращение булева и доступ к этой информации
Кроме того, поскольку я получаю правильный возврат в инспекторе, я думал, что это стоило бы отметить, что я получаю ошибку Null Ref при попытке играть в игру на сценарий, который не признает BOOL
Я буду включать код, который я использую. Версия Unity, которую я использую, - это 5.2.1f1, 64-бит. Кроме того, я использовал Awake и Start. Ничего не сработало. Поскольку я не думал, что это имеет значение, но я подумал, что я сделаю это.
Я ценю помощь.
public class nonButtonStuff : MonoBehaviour
{
public float timer;
public float tipPercent;
public float checkAmount;
private Seated seated;
private dessert Dessert;
private drinks Drinks;
private food Food;
private appetisers Appetisers;
private checkedUpon checkedOn;
// Use this for initialization
void Awake()
{
tipPercent = .2f;
checkAmount = 0;
seated = GetComponent<Seated>();
Dessert = GetComponent<dessert>();
Drinks = GetComponent<drinks>();
Food = GetComponent<food>();
Appetisers = GetComponent<appetisers>();
checkedOn = GetComponent<checkedUpon>();
}
void Update()
{
if(seated.isSeated == true && Drinks.drinksOrdered == true || Drinks.drinksOrdered != false && seated.isSeated == false)
{
timer += Time.deltaTime * 1;
}
if(Dessert.Dessert==true)
{
timer = 0;
}
if (checkedOn.checkedOn > 0)
{
Debug.Log(checkedOn);
}
}
}
~~~~~~~~~~
public class Seated : MonoBehaviour
{
public bool isSeated = false;
public void clicked()
{
isSeated = true;
Debug.Log("Was clicked.");
return;
}
}
Edited для ясности щелкнутого():
Я использовал встроенный редактор пользовательского интерфейса, чтобы добавить кнопку для сидячих , Таким образом, нет жестко закодированной кнопки. Но когда я «играю» и нажимаю кнопку, это дает мне логическое значение как правильное. Однако nonButtonStuff не распознает «isSeated» как == true.
В чем именно возникают проблемы. Если это метод, то метод реализует интерфейс ('update' и т. Д.), А затем возвращаемое значение не может быть изменено. – Cjen1
. Точная проблема заключается в том, что nonButtonStuff.cs не распознает, что произошло изменение в isSeated bool, закодированном в Seated .cs. –
@ Тим Я думал, что сделал это, когда я назвал его «сидящим = GetComponent();» –