/// <summary> /// 执行存档读取操作 /// </summary> public static void DoLoad(int dataId) { OnLoad = true; // 防止UI活动生成新的SingletonObject实例 UIDate.instance.gameObject.SetActive(false); // 来自DateFile.BackToStartMenu()方法,载入存档前清空,防止载入存档时载入奇书数据时卡档 SingletonObject.ClearInstances(); // 释放资源 SubSystems.OnUnloadGameData(); MainMenu.instance.SetLoadIndex(dataId); }
/// <summary> /// 执行存档读取操作 /// </summary> public static void DoLoad(int dataId) { OnLoad = true; // 先 ChangeGameState , 擠掉之前的 GameState // 避免在 DateFile.instance.Initialize 時觸發 前一個 State 的 OnExit // 會造成一些問題 (例如讀檔後戰鬥黑屏) Game.Instance.ChangeGameState(eGameState.Login, new object[] { eMainMenuShow.None }); // 用 GMPanel 的寫法 SubSystems.OnLeaveGame(); GameData.Common.OnLeaveGame(); WorldMapSystem.instance.ResetWorldMap(); UIManager.Instance.DestroyAllOldPrefabs(); SingletonObject.ClearInstances(); DateFile.instance.Initialize(dataId, false); }