На сцене StartGameScene есть объект Player. К нему прикреплены 2 скрипта
DontDestroyThisObject
Синтаксис:
Используется csharp
void Awake()
{
// Не удаляем объект, к которому подключен этот скрипт при переходе/загрузке новой сцены.
DontDestroyOnLoad(this);
// Удаляем копию объекта (если вдруг вернулись к первой сцене).
if (GameObject.Find("Player").gameObject != this.gameObject) Destroy(this.gameObject);
}
}
{
// Не удаляем объект, к которому подключен этот скрипт при переходе/загрузке новой сцены.
DontDestroyOnLoad(this);
// Удаляем копию объекта (если вдруг вернулись к первой сцене).
if (GameObject.Find("Player").gameObject != this.gameObject) Destroy(this.gameObject);
}
}
и
PlayerMenu
Синтаксис:
Используется csharp
public class PlayerMenu : MonoBehaviour
{
void Start()
{
string activeScene = SceneManager.GetActiveScene().name;
Debug.Log("Запуск скрипта ");
Debug.Log("Активная сцена "+activeScene);
}
public void CloseButtonClick()
{
SceneManager.LoadScene("StartMenuScene");
}
}
{
void Start()
{
string activeScene = SceneManager.GetActiveScene().name;
Debug.Log("Запуск скрипта ");
Debug.Log("Активная сцена "+activeScene);
}
public void CloseButtonClick()
{
SceneManager.LoadScene("StartMenuScene");
}
}
Скрипт подключен к объекту.
Запускаем сцену StartGameScene - скрипт срабатывает. В дебаге видим сообщение.
Переходим на сцену EventScene - объект не уничтожается (проверено, у него ещё есть вложенные объекты, картинки - всё видно), но скрипт не срабатывает. Нет нового сообщения в дебаге.
Почему не срабатывает скрипт? И почему на нем есть какая то галочка (когда у других, у того же DontDestroyThisObject её нет)?
PS
Очень не хочу откатываться в гит т.к. как всегда нарушал правило и коммитил сразу несколько действий.