Open yyyysh opened 10 months ago
图中在其他mono脚本里调用继承了PersistentMonoSingleton的脚本时 该脚本的Awake方法还没执行,这时候从场景上FindObjectOfType得到instance 等到了该脚本Awake方法执行时 mInstance == null 导致DontDestroyOnLoad方法不会被执行 是不是把 DontDestroyOnLoad(transform.gameObject); 这句从if里提出来比较好?
protected virtual void Awake() { if (!Application.isPlaying) { return; } if (mInstance == null) { mInstance = this as T; DontDestroyOnLoad(transform.gameObject); mEnabled = true; } else { if (this != mInstance) { Destroy(this.gameObject); } } }
图中在其他mono脚本里调用继承了PersistentMonoSingleton的脚本时 该脚本的Awake方法还没执行,这时候从场景上FindObjectOfType得到instance 等到了该脚本Awake方法执行时 mInstance == null 导致DontDestroyOnLoad方法不会被执行 是不是把 DontDestroyOnLoad(transform.gameObject); 这句从if里提出来比较好?