переменная не обновляется на другом скрипте - PullRequest
0 голосов
/ 06 марта 2019

Так что это соответствует еще одному вопросу, который я задал, но я иду другим путем. Вопрос, который у меня есть, заключается в том, что в этом сценарии я нахожу уровень игрока из сценария LevelManager. Я собираюсь использовать разные панели для каждого уровня игрока и делать их активными по мере увеличения уровня. Не самый лучший способ, который я понимаю. У меня проблема в том, что уровень в этом скрипте не обновляется с помощью currentLevel в моем другом скрипте, поэтому панели не включаются, потому что уровень всегда равен 0. Любая помощь приветствуется. Нил

public GameObject Panel1;
public GameObject Panel2;
public GameObject Panel3;
public GameObject levelscript;
public int level;

public void Start()
{
    GameObject scoreEventTrigger = GameObject.Find("ScoreEventTrigger");
    LevelManager levelManager = scoreEventTrigger.GetComponent<LevelManager>();
    level = levelManager.currentLevel;
}

public void OpenPanel1()
{
    if (level == 1)
    {
        if (Panel1 != null)
        {
            Panel1.SetActive(true);
        }
    }
}
public void OpenPanel2()
{
    if (level == 2)
    {
        if (Panel2 != null)
        {
            Panel2.SetActive(true);
        }
    }
}

}

1 Ответ

1 голос
/ 06 марта 2019

Ваша загрузка вашего скрипта только при запуске.Вам нужно проверить свою шкалу, когда вы запускаете какое-то событие, например, «onGetXp».По этому событию вы проверяете свой уровень и применяете панель.

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