Доступ к публичному bool из другого скрипта в Unity - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь запустить публичную настройку bool в скрипте LevelManager из другого скрипта.

, поэтому, когда что-то происходит в скрипте B, bool в скрипте A переключается на true.

Ниже приведены два сценария, в которых levelRestart.cs является триггером. Когда игрок нажимает, он должен получить доступ к общедоступному логическому элементу в сценарии LevelManager и сказать, что startGame имеет значение true.

Может ли кто-нибудь помочь?

LevelManager.cs

public bool startGame = false;

void Update ()
    {

        if (startGame == true)
        {
            SpawnKonyaku();
            startGame = false;
        }
    }

LevelRestart.cs

void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == "Player")
        {            
            levelManager.startGame = false; //<- This is where, i need help    
        }
    }

Сценарий RestartLevel для запуска public bool startGame на значение true

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Вы можете запустить bool startGame, сохранив его как статический, т. Е. Общедоступный static bool startGame.Так что вы можете запустить с LevelManager напрямую.

0 голосов
/ 28 января 2019

Хорошо, я понял это сам, я напишу здесь ответ, чтобы добавить ко многим другим вопросам сценария.

Я добавил эти переменные, чтобы извлечь из сценария A

public GameObject _LevelManager;
private LevelManager script;`

, чем при Void Start, я добавил

void Start ()
{
    script = _LevelManager.GetComponent<LevelManager>();
}

, и он фактически называется bool, когда я запускал метод триггерентера

public void OnTriggerEnter2D(Collider2D col)
{
    if (col.gameObject.tag == "Player")
    {            
        script.startGame = true;         
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...