Witam.
Mam pewien problem, który zdaje się nie był poruszany nigdzie na żadnym forum.
Otóż DontDestroyOnLoad działa dobrze, nie niszczy obiektu, jednakże skrypt, który jest do niego dołączony wykonuje się po załadowaniu sceny.
Nie ważne czy robię LoadScene, czy loadSceneAsync, czy LoadSceneAsync Additive...
Zawsze po wczytaniu sceny wykonuje się Awake, Start i pozostałe.
Czy da radę jakoś tego uniknąć?
Singleton mam z pierwszej sceny a w kolejnej ten sam plik, z tym samym skryptem chce na nowo przypisać Singletona i pokazuje mi stosowny komunikat.
(SendToTerminal to pokazuje na konsoli informacje)
(Kod w Awake)
if (!instance)
{
DontDestroyOnLoad(this.gameObject); // Póki działa gra to consola będzie działać
instance = this.gameObject.GetComponent<TerminalCommand>();
}
else
{
Destroy(this.gameObject.GetComponent<TerminalCommand>());
SendToTerminal("Game try create more than one Terminal Commands in scene.\n" +
"Game remove Terminal component from object: " + this.name, MesseageType.Warring, this.gameObject);
}