Легкая переменная, видимая всем сценариям в одном игровом объекте - PullRequest
0 голосов
/ 01 декабря 2018

Персонаж моего игрока имеет несколько сценариев.

Теперь я хотел бы добавить одну переменную, которая должна быть доступна нескольким другим скриптам в этом игровом объекте.

Мне нужно показать объект игры в сцене инвентаря.Я перемещаю его в сцену инвентаря на

SceneManager.MoveGameObjectToScene(Hero, InventoryScene);

Пока игровой объект отображается в этой сцене инвентаря, игрок не должен иметь возможность его перемещать.

Поэтому я бы хотел добавить переменную с именем isFrozen к объекту игры.Когда эта переменная имеет значение true, входные данные игрока не будут обрабатываться.

Логика движения состоит из трех сценариев.

Как я мог лучше всего сообщить (в легкой форме) сценариям, что игрок в настоящее время заморожен?

Или я должен попытаться объединить их в 1 скрипт и добавить эту переменную в этот единственный скрипт?

1 Ответ

0 голосов
/ 01 декабря 2018

Да, у вас может быть одна переменная, доступная нескольким классам.Помните, что статические переменные всегда здесь по этой причине.Вы можете получить доступ к этой переменной isFrozen, сделав переменную static или создать класс, в котором переменная представлена ​​как singleton , и получить доступ к этой переменной.Просто убедитесь, что это публичная переменная, и все хорошо.Если вы сделаете isFrozen статическим, то вы можете получить к нему прямой доступ как MyClass.isFrozen.Если вы создаете одноэлементный класс, вы можете получить к нему доступ, например MyClass.Instance.isFrozen;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...