void OnDestroy() { MessageDispatcher.RemoveObserver(InitMap, MessageType.LoadBattleComplete); MessageDispatcher.RemoveObserver(MapShowEffectStart, MessageType.MapShowEffectStart); if (endlessModeManager != null) { endlessModeManager.OnDestroy(); endlessModeManager = null; } else if (trainingModeManager != null) { trainingModeManager.OnDestroy(); trainingModeManager = null; } else if (tutorialModeManager != null) { tutorialModeManager.OnDestroy(); tutorialModeManager = null; } logicWorld.Release(); logicWorld = null; renderWorld.Release(); renderWorld = null; }
private void InitPVEMode(BattleType type) { if (type == BattleType.Survival) { this.gameObject.AddComponent <LocalBattleMessageManager>(); endlessModeManager = new EndlessModeManager(); endlessModeManager.SetMapData(mapDataPVE); endlessModeManager.SetLogicWorld(logicWorld); endlessModeManager.InitEndlessMode(); } else if (type == BattleType.Tranining) { this.gameObject.AddComponent <LocalBattleMessageManager>(); trainingModeManager = new TrainingModeManager(); trainingModeManager.SetMapData(mapDataPVE); trainingModeManager.SetLogicWorld(logicWorld); trainingModeManager.InitTrainingMode(); } else if (type == BattleType.Tutorial) { //TODO: there need add tutorial manager, Dwayne. this.gameObject.AddComponent <LocalBattleMessageManager>(); tutorialModeManager = new TutorialModeManager(); tutorialModeManager.SetTutorialStage(dataManager.GetTutorialStage()); mapData1V1.SetTutorialPathPointPosition(); tutorialModeManager.SetMapData(mapData1V1); //Temp mapdata if have tutorial mapdata change this. tutorialModeManager.SetLogicworld(logicWorld); tutorialModeManager.SetMainCamera(this.mainCamera); tutorialModeManager.InitTutorialMode(); } else { DebugUtils.LogError(DebugUtils.Type.Data, "We just have two PVE Mode, Can not find this mode : " + type); } }