private void Awake() { if (instance != null) { Logger.log?.Warn($"Instance of {this.GetType().Name} already exists, destroying."); GameObject.DestroyImmediate(this); return; } GameObject.DontDestroyOnLoad(this); instance = this; Logger.log?.Debug($"{name}: Awake()"); }
private void OnDestroy() { Logger.log?.Debug($"{name}: OnDestroy()"); UnityEngine.SceneManagement.SceneManager.activeSceneChanged -= OnActiveSceneChanged; instance = null; }