Пример #1
0
        /// <summary>
        /// 退出探索场景
        /// </summary>
        public void QuitExploreScene()
        {
            Time.timeScale = 1;

            this.gameObject.SetActive(false);

            GameManager.Instance.persistDataManager.SaveDataInExplore(null, true);

            // 停止播放探索背景音乐
            GameManager.Instance.soundManager.StopBgm();

            Camera.main.transform.SetParent(null);

            Transform exploreMask = Camera.main.transform.Find("ExploreMask");

            exploreMask.GetComponent <UnityArmatureComponent> ().animation.Stop();
            exploreMask.gameObject.SetActive(false);

            // 玩家退出探索场景
            battlePlayerCtr.QuitExplore();
            // 退出探索UI界面
            expUICtr.QuitExplore();

            // 释放无用资源
            GameManager.Instance.gameDataCenter.ReleaseDataWithDataTypes(new GameDataCenter.GameDataType[] {
                GameDataCenter.GameDataType.GameLevelDatas,
                GameDataCenter.GameDataType.EquipmentModels,
                GameDataCenter.GameDataType.EquipmentSprites,
                GameDataCenter.GameDataType.ConsumablesModels,
                GameDataCenter.GameDataType.ConsumablesSprites,
                GameDataCenter.GameDataType.SpecialItemModels,
                GameDataCenter.GameDataType.SpecialItemSprites,
                GameDataCenter.GameDataType.SkillGemstoneModels,
                GameDataCenter.GameDataType.SkillGemstoneSprites,
                GameDataCenter.GameDataType.SpellItemModels,
                GameDataCenter.GameDataType.SkillScrollModels,
                GameDataCenter.GameDataType.SkillScrollSprites,
                GameDataCenter.GameDataType.CharacterSprites,
                GameDataCenter.GameDataType.ChatRecord,
                GameDataCenter.GameDataType.Diary,
                GameDataCenter.GameDataType.Monsters,
                GameDataCenter.GameDataType.MonstersUI,
                GameDataCenter.GameDataType.MonstersData,
                GameDataCenter.GameDataType.NPCs,
                GameDataCenter.GameDataType.Skills,
                GameDataCenter.GameDataType.SkillSprites,
                GameDataCenter.GameDataType.Effects,
                GameDataCenter.GameDataType.MapSprites,
                GameDataCenter.GameDataType.MapTileAtlas,
                GameDataCenter.GameDataType.MiniMapSprites,
                GameDataCenter.GameDataType.CurrentMapMiniMapRecord,
                GameDataCenter.GameDataType.MapEventsRecords,
                GameDataCenter.GameDataType.CurrentMapEventsRecord,
                GameDataCenter.GameDataType.CurrentMapWordsRecord,
                GameDataCenter.GameDataType.Proverbs,
                GameDataCenter.GameDataType.Puzzle,
                GameDataCenter.GameDataType.BagCanvas,
                GameDataCenter.GameDataType.ShareCanvas,
                GameDataCenter.GameDataType.NPCCanvas,
                GameDataCenter.GameDataType.ExploreScene,
                GameDataCenter.GameDataType.SettingCanvas,
                GameDataCenter.GameDataType.ShareCanvas,
                GameDataCenter.GameDataType.GuideCanvas
            });

            GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.homeCanvasBundleName, "HomeCanvas", () => {
                TransformManager.FindTransform("HomeCanvas").GetComponent <HomeViewController> ().SetUpHomeView();
            }, true, false);

            Destroy(this.gameObject, 0.3f);
        }