DontDestroyOnLoad уничтожает объект при смене сцен - PullRequest
0 голосов
/ 04 мая 2019

Я хочу добавить admob в свою игру и не хочу запрашивать / загружать рекламу каждый раз, когда я меняю сцены.Я пытался решить эту проблему с помощью «DontDestroyOnLoad», но каким-то образом объект, к которому присоединен мой скрипт AdManager, будет разрушен, когда я переключаюсь между другими сценами.

Этот код я написал в свой скрипт AdManager..

private static bool created = false;
...
void Awake()
{
    if (!created)
    {
        DontDestroyOnLoad(gameObject);
        created = true;
    }
    else
    {
        Destroy(gameObject);
    }
}

В главном меню вызывается скрипт AdManager (когда я запускаю игру).Когда я нажимаю кнопку «Пуск», сценарий AdManager должен быть доступен в других сценах, но он просто исчезает / уничтожается.

1 Ответ

1 голос
/ 04 мая 2019

У вас должна быть переменная для собственной ссылки.

 private static [YourScriptName] _instance = null;
 public static [YourScriptName] Instance
 {
     get { return _instance; }
 }


 void Awake()
 {
     if (_instance != null && _instance != this)
     {
         Destroy(gameObject);
         return;
     }

     _instance = this;

     DontDestroyOnLoad(gameObject);
 }

Дайте мне знать, если это поможет.

...