コード例 #1
0
        private IEnumerator LoadingBarAnimationQuitExplore()
        {
            loadingBar.changeDuration = 0.6f;
            loadingBar.value          = 30;

            float timer = 0;

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

            Transform exploreManager = TransformManager.FindTransform("HomeCanvas");

            while (exploreManager == null || timer < 0.6f)
            {
                exploreManager = TransformManager.FindTransform("HomeCanvas");
                timer         += Time.unscaledDeltaTime;

                yield return(null);
            }


            loadingBar.changeDuration = 1.2f;
            loadingBar.value          = 100;

            yield return(new WaitForSecondsRealtime(2.0f));



            if (lampCoroutine != null)
            {
                StopCoroutine(lampCoroutine);
            }

            if (finishLoadingCallBack != null)
            {
                finishLoadingCallBack();
            }

            GameManager.Instance.soundManager.PlayBgmAudioClip(CommonData.homeBgmName);

            GameManager.Instance.UIManager.RemoveCanvasCache("LoadingCanvas");
        }
コード例 #2
0
        public static void GeneratePlayerJsonData()
        {
            Player p = TransformManager.FindTransform("Player").GetComponent <Player> ();

//			p.allEquipedEquipments = new Equipment[6];

            p.physicalHurtScaler = 1.0f;
            p.magicalHurtScaler  = 1.0f;
            p.critHurtScaler     = 1.5f;

            PlayerData pd = new PlayerData(p);

            string originalPlayerDataPath = CommonData.originDataPath + "/PlayerData_ori.json";

            DataHandler.SaveInstanceDataToFile <PlayerData> (pd, originalPlayerDataPath);

            string playerDataPath = CommonData.playerDataFilePath;

            DataHandler.SaveInstanceDataToFile <PlayerData>(pd, playerDataPath);
        }
コード例 #3
0
        public void OnConfirmButtonClick()
        {
//			int wordTypeIndex = settingView.GetCurrentWordType (index);
//
//			if (wordTypeIndex == -1) {
//				return;
//			}

            settingView.QuitAlertHUD();

            GameManager.Instance.persistDataManager.ResetPlayerDataToOriginal();

            switch (currentSelectWordTypeIndex)
            {
            case 0:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.CET4;
                break;

            case 1:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.CET6;
                break;

            case 2:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.Daily;
                break;

            case 3:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.Bussiness;
                break;
            }

            ExploreManager exploreManager = TransformManager.FindTransform("ExploreManager").GetComponent <ExploreManager> ();

            if (exploreManager != null)
            {
                exploreManager.QuitExploreScene(false);
            }

            settingChanged = true;
            OnQuitSettingViewButtonClick();
        }
コード例 #4
0
        public void QuitExploreScene(bool saveData)
        {
            SoundManager.Instance.StopBgm();

            if (saveData)
            {
                GameManager.Instance.persistDataManager.SaveCompletePlayerData();
            }

            PlayerData playerData = GameManager.Instance.persistDataManager.LoadPlayerData();

            Player.mainPlayer.SetUpPlayerWithPlayerData(playerData);

            Camera.main.transform.Find("Background").gameObject.SetActive(false);
            Camera.main.transform.SetParent(null);

            battlePlayerCtr.QuitExplore();

            mapGenerator.DestroyInstancePools();

            TransformManager.DestroyTransfromWithName(CommonData.exploreScenePoolContainerName, TransformRoot.Plain);

            Destroy(this.gameObject);

            GameManager.Instance.gameDataCenter.ReleaseDataWithDataTypes(new GameDataCenter.GameDataType[] {
                GameDataCenter.GameDataType.MapSprites,
                GameDataCenter.GameDataType.SkillSprites,
                GameDataCenter.GameDataType.Monsters,
                GameDataCenter.GameDataType.NPCs,
                GameDataCenter.GameDataType.GameLevelDatas
            });

            MyResourceManager.Instance.UnloadAssetBundle(CommonData.exploreSceneBundleName, true);


            TransformManager.FindTransform("ExploreCanvas").GetComponent <ExploreUICotroller> ().QuitExplore();

            GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.homeCanvasBundleName, "HomeCanvas", () => {
                TransformManager.FindTransform("HomeCanvas").GetComponent <HomeViewController> ().SetUpHomeView();
            }, false, false);
        }
コード例 #5
0
        // 退出背包界面
        public void OnQuitBagPlaneButtonClick()
        {
            itemToAddWhenBagFull = null;

            bagView.QuitBagPlane();

            Transform exploreCanvas = TransformManager.FindTransform("ExploreCanvas");

            if (exploreCanvas == null)
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.homeCanvasBundleName, "HomeCanvas", () => {
                    TransformManager.FindTransform("HomeCanvas").GetComponent <HomeViewController> ().SetUpHomeView();

//					GameManager.Instance.gameDataCenter.ReleaseDataWithNames(new string[]{"AllItemSprites","AllMaterialSprites","AllMaterials","AllItemModels"});

//					TransformManager.DestroyTransfromWithName ("PoolContainerOfBagCanvas", TransformRoot.PoolContainer);
                });
            }

            Time.timeScale = 1;
        }
コード例 #6
0
        public void QuitCraftingRecipesHUD()
        {
            if (quitCallBack != null)
            {
                quitCallBack();
            }

            if (zoomInCoroutine != null)
            {
                StopCoroutine(zoomInCoroutine);
            }

            gameObject.SetActive(false);

            if (TransformManager.FindTransform("BagCanvas").GetComponent <Canvas> ().isActiveAndEnabled)
            {
                return;
            }

            Time.timeScale = 1f;
        }
コード例 #7
0
        /// <summary>
        /// 探索按钮点击响应
        /// </summary>
        public void OnExploreButtonClick()
        {
            // 如果需要选择单词难度
            if (Player.mainPlayer.needChooseDifficulty)
            {
                GameManager.Instance.soundManager.PlayAudioClip(CommonData.paperAudioName);
                // 显示难度选择界面
                homeView.SetUpDifficultyChoosePlane(OnDifficultyChoose);
            }
            else
            {
                homeView.ShowMaskImage();

                GameManager.Instance.soundManager.StopBgm();

                // 初始化加载界面
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.loadingCanvasBundleName, "LoadingCanvas", delegate {
                    TransformManager.FindTransform("LoadingCanvas").GetComponent <LoadingViewController>().SetUpLoadingView(LoadingType.EnterExplore, LoadExplore, ShowExplore);
                });
            }
        }
コード例 #8
0
        private void LoadAllSkills()
        {
            if (mAllSkills.Count > 0)
            {
                return;
            }

            GameObject[] skillCache = MyResourceManager.Instance.LoadAssets <GameObject> (CommonData.allSkillsBundleName);

            Transform skillsContainer = TransformManager.FindOrCreateTransform("AllSkills");

            for (int i = 0; i < skillCache.Length; i++)
            {
                GameObject skill = GameObject.Instantiate(skillCache [i]);
                skill.name = skillCache [i].name;
                skill.transform.SetParent(skillsContainer);
                mAllSkills.Add(skill.GetComponent <Skill>());
            }

            SortSkillsById(mAllSkills);
        }
コード例 #9
0
        /// <summary>
        /// 选择了一种工具后的响应方法
        /// </summary>
        /// <param name="tool">Tool.</param>
        /// <param name="mapItem">Map item.</param>
        private void OnToolChoiceButtonClick(Consumables tool, MapItem mapItem)
        {
            QuitToolChoicePlane();

            // 背包中的工具数量-1
            player.RemoveItem(tool, 1);

            // 播放对应的音效
            SoundManager.Instance.PlayAudioClip("MapEffects/" + mapItem.audioClipName);

            Vector3      mapItemPos   = mapItem.transform.position;
            MapGenerator mapGenerator = TransformManager.FindTransform("ExploreManager").GetComponent <MapGenerator> ();

            int[,] mapWalkableInfoArray = mapGenerator.mapWalkableInfoArray;

            switch (mapItem.mapItemType)
            {
            case MapItemType.Stone:
            case MapItemType.Tree:
                (mapItem as Obstacle).DestroyObstacle(null);
                mapWalkableInfoArray [(int)mapItemPos.x, (int)mapItemPos.y] = 1;
                break;

            case MapItemType.TreasureBox:
                TreasureBox tb = mapItem as TreasureBox;
                tb.UnlockTreasureBox(null);
                mapWalkableInfoArray [(int)mapItemPos.x, (int)mapItemPos.y] = 1;
                mapGenerator.SetUpAwardInMap(tb.awardItem, mapItemPos);
                break;

            case MapItemType.Plant:
                Plant plant = mapItem as Plant;
                mapGenerator.AddMapItemInPool(mapItem.transform);
                mapWalkableInfoArray [(int)mapItemPos.x, (int)mapItemPos.y] = 1;
                mapGenerator.SetUpAwardInMap(plant.attachedItem, mapItemPos);
                break;
            }

            SetUpBottomConsumablesButtons();
        }
コード例 #10
0
        /// <summary>
        /// 更改词库确认按钮点击响应
        /// </summary>
        public void OnConfirmButtonClick()
        {
            settingView.QuitAlertHUD();

            switch (currentSelectWordTypeIndex)
            {
            case 0:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.Simple;
                break;

            case 1:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.Medium;
                break;

            case 2:
                GameManager.Instance.gameDataCenter.gameSettings.wordType = WordType.Master;
                break;
            }

            Player.mainPlayer.needChooseDifficulty = false;

            GameManager.Instance.persistDataManager.ResetPlayerDataToOriginal();
            GameManager.Instance.persistDataManager.ClearCurrentMapWordsRecordAndSave();

            if (ExploreManager.Instance != null)
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.loadingCanvasBundleName, "LoadingCanvas", delegate
                {
                    TransformManager.FindTransform("LoadingCanvas").GetComponent <LoadingViewController>().SetUpLoadingView(LoadingType.QuitExplore, delegate {
                        ExploreManager.Instance.QuitExploreScene();
                    }, null);
                });
            }



            settingView.UpdateDifficultySelectedIcons();

            settingChanged = true;
        }
コード例 #11
0
        public void QuitUnlockScrollDetailHUD()
        {
            if (quitCallBack != null)
            {
                quitCallBack();
            }

            unlockButton.gameObject.SetActive(false);
            resolveButton.gameObject.SetActive(false);

            if (zoomInCoroutine != null)
            {
                StopCoroutine(zoomInCoroutine);
            }

            gameObject.SetActive(false);

            if (TransformManager.FindTransform("BagCanvas").GetComponent <Canvas> ().isActiveAndEnabled)
            {
                return;
            }

            Time.timeScale = 1f;
        }
コード例 #12
0
        /// <summary>
        /// 背包按钮点击响应
        /// </summary>
        public void OnBagButtonClick()
        {
            if (ExploreManager.Instance.expUICtr.rejectNewUI)
            {
                return;
            }

            Time.timeScale = 0;

            if (ExploreManager.Instance.battlePlayerCtr.isInMoving)
            {
                ExploreManager.Instance.battlePlayerCtr.StopMoveAtEndOfCurrentStep();
            }

            ExploreManager.Instance.expUICtr.rejectNewUI = true;

            // 初始化背包界面并显示
            GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.bagCanvasBundleName, "BagCanvas", () => {
                Transform bagCanvas = TransformManager.FindTransform("BagCanvas");
                bagCanvas.GetComponent <BagViewController>().SetUpBagView(true, delegate {
                    ExploreManager.Instance.expUICtr.rejectNewUI = false;
                });
            }, false, true);
        }
コード例 #13
0
        public void AddItemToBag()
        {
            if (Player.mainPlayer.CheckBagFull())
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.bagCanvasBundleName, "BagCanvas", () => {
                    TransformManager.FindTransform("BagCanvas").GetComponent <BagViewController>().AddBagItemWhenBagFull(itemCreated);
                }, false, true);
                return;
            }
            // 更新玩家物品数据
            Player.mainPlayer.AddItem(itemCreated);

            spellView.QuitCreateDetailHUD();

            string tint = string.Format("获得{0} x {1}", itemCreated.itemName, itemCreated.itemCount);

            Sprite itemSprite = GameManager.Instance.gameDataCenter.allItemSprites.Find(delegate(Sprite obj) {
                return(obj.name == itemCreated.spriteName);
            });

            spellView.SetUpTintHUD(tint, itemSprite);

            itemCreated = null;
        }
コード例 #14
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);
        }
コード例 #15
0
 /// <summary>
 /// 显示探索场景
 /// </summary>
 private void ShowExplore()
 {
     TransformManager.FindTransform("ExploreCanvas").GetComponent <ExploreUICotroller>().ShowExploreSceneSlowly();
 }
コード例 #16
0
        /// <summary>
        /// 进入探索时加载进度条的加载显示逻辑
        /// </summary>
        /// <returns>The bar animation enter explore.</returns>
        private IEnumerator LoadingBarAnimationEnterExplore()
        {
            // 0.6s的时间进度条加载30%
            loadingBar.changeDuration = 0.6f;
            loadingBar.value          = 30;

            float timer = 0;

            // 等待探索场景从内存中加载出来
            Transform exploreManager = TransformManager.FindTransform("ExploreManager");

            while (exploreManager == null || timer < 0.6f)
            {
                exploreManager = TransformManager.FindTransform("ExploreManager");
                timer         += Time.unscaledDeltaTime;
                yield return(null);
            }

            // 0.8s的时间进度条加载到80%
            loadingBar.changeDuration = 0.8f;
            loadingBar.value          = 80;

            // 等待1.6s
            yield return(new WaitForSecondsRealtime(1.6f));

            // 0.4s的时间进度条加载到100%
            loadingBar.changeDuration = 0.4f;
            loadingBar.value          = 100;

            timer = 0;
            // 等待探索场景初始化完成
            while (!ExploreManager.Instance.exploreSceneReady || timer < 0.4f)
            {
                timer += Time.unscaledDeltaTime;
                yield return(null);
            }

            // 等待0.3s
            yield return(new WaitForSecondsRealtime(0.3f));

            //Player.mainPlayer.canSave = true;

            // 停止灯光闪烁
            if (lampCoroutine != null)
            {
                StopCoroutine(lampCoroutine);
            }

            // 加载完成回调
            if (finishLoadingCallBack != null)
            {
                finishLoadingCallBack();
            }

            // 如果时新用户,此时应该进入引导场景,不播放探索音乐
            // 如果不是新用户,播放探索音乐
            if (!Player.mainPlayer.isNewPlayer)
            {
                GameManager.Instance.soundManager.PlayBgmAudioClip(CommonData.exploreBgmName);
            }

            // 移除加载场景
            GameManager.Instance.UIManager.RemoveCanvasCache("LoadingCanvas");
        }
コード例 #17
0
        public void SetUpExploreCanvas()
        {
            rejectNewUI = false;

            wordRecords = GameManager.Instance.gameDataCenter.currentMapWordRecords;

            transitionMask.gameObject.SetActive(true);

            pauseHUD.InitPauseHUD(true, ConfirmQuitToHomeView, null, null);

            wordHUD.InitWordHUD(true, QuitWordHUDCallBack, ChooseAnswerInWordHUDCallBack, ConfirmCharacterFillInWordHUDCallBack);

            creationView.ClearCharacterFragments();

            if (!GameManager.Instance.UIManager.UIDic.ContainsKey("BagCanvas"))
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.bagCanvasBundleName, "BagCanvas", null, false, true, false);
            }

            if (!GameManager.Instance.UIManager.UIDic.ContainsKey("NPCCanvas"))
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.npcCanvasBundleName, "NPCCanvas", null, false, true, false);
            }

            gameLevelLocationText.text = string.Format("第{0}层", Player.mainPlayer.currentLevelIndex + 1);
            wordRecordText.text        = string.Empty;

            if (wordRecords.Count > 0)
            {
                wordRecordText.text = wordRecords[wordRecords.Count - 1].spell;
            }


            bpUICtr.InitExploreAgentView();
            bpUICtr.SetUpExplorePlayerView(Player.mainPlayer);
            bmUICtr.InitExploreAgentView();

            GetComponent <Canvas>().enabled = true;
            transitionMask.color            = Color.black;


            if (!Player.mainPlayer.isNewPlayer)
            {
                bool playerDataExist = DataHandler.FileExist(CommonData.playerDataFilePath);
                if (!playerDataExist)
                {
                    GameManager.Instance.persistDataManager.SaveCompletePlayerData();
                }
                transitionMask.gameObject.SetActive(false);

                //if (hasResetGame)
                //{
                //	//GameManager.Instance.persistDataManager.ResetPlayerDataToOriginal();

                //	transitionView.PlayTransition(TransitionType.ResetGameHint, delegate
                //	{
                //		transitionMask.gameObject.SetActive(false);
                //	});
                //}
            }
            else
            {
                ExploreManager.Instance.MapWalkableEventsStopAction();

                transitionMask.gameObject.SetActive(true);

                TransitionType transitionType = GameManager.Instance.persistDataManager.versionUpdateWhenLoad ? TransitionType.VersionUpdate : TransitionType.Introduce;

                transitionView.PlayTransition(transitionType, delegate
                {
                    GameManager.Instance.persistDataManager.versionUpdateWhenLoad = false;

                    GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.guideCanvasBundleName, "GuideCanvas", delegate
                    {
                        TransformManager.FindTransform("GuideCanvas").GetComponent <GuideViewController>().ShowNewPlayerGuide(delegate {
                            ExploreManager.Instance.MapWalkableEventsStartAction();
                        });
                    });
                    transitionMask.gameObject.SetActive(false);
                });
            }

            creationView.InitCharacterFragmentsHUD(SetUpSpellItemView);

            //wordRecords.Clear();

            miniCameraSize = TransformManager.FindTransform("MiniMapCamera").GetComponent <Camera>().orthographicSize;

            LoadMiniMapTexture();

            UpdateMiniMapDisplay(ExploreManager.Instance.battlePlayerCtr.transform.position);

            if (Player.mainPlayer.currentLevelIndex < CommonData.maxLevelIndex)
            {
                for (int i = 0; i < monstersInfoWithDisplayUI.Count; i++)
                {
                    Transform monsterUI = monstersInfoWithDisplayUI[i].monsterUI;

                    monsterUIPool.AddInstanceToPool(monsterUI.gameObject);
                }

                monstersInfoWithDisplayUI.Clear();

                GetMonstersDataAndUI();

                monstersDisplayView.InitMonsterDisplayView(monstersInfoWithDisplayUI);

                monsterUIPool.ClearInstancePool();
            }
        }
コード例 #18
0
        private IEnumerator LoadingBarAnimation()
        {
            yield return(GameManager.Instance != null);

            GameManager.Instance.soundManager.PlayBgmAudioClip(CommonData.homeBgmName, true);

            loadingBar.changeDuration = 0.2f;
            loadingBar.value          = 10;

            float timer = 0;

            GameLoader gameLoader = Camera.main.GetComponent <GameLoader>();

            while (gameLoader == null || timer < 0.4f)
            {
                yield return(null);

                gameLoader = Camera.main.GetComponent <GameLoader>();
                timer     += Time.deltaTime;
            }

            yield return(new WaitUntil(() => gameLoader.dataReady));

            loadingBar.changeDuration = 1f;
            loadingBar.value          = 60;

            //GameManager.Instance.SaveAllData();

            yield return(new WaitForSecondsRealtime(1.6f));

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

                homeViewController.SetUpHomeView();

                if (Application.internetReachability == NetworkReachability.NotReachable)
                {
                    homeViewController.homeView.ShowNoAvalableNetHintHUD();
                }
                else
                {
                    homeViewController.homeView.HideNoAvalableNetHintHUD();
                }

                GameManager.Instance.soundManager.PlayBgmAudioClip(CommonData.homeBgmName);
            });


            Transform homeCanvas = TransformManager.FindTransform("HomeCanvas");

            while (homeCanvas == null || timer < 0.6f)
            {
                homeCanvas = TransformManager.FindTransform("HomeCanvas");
                timer     += Time.unscaledDeltaTime;
                yield return(null);
            }

            loadingBar.changeDuration = 0.6f;
            loadingBar.value          = 100;

            yield return(new WaitForSecondsRealtime(1f));

            //this.gameObject.SetActive(false);

            GameManager.Instance.UIManager.RemoveCanvasCache("UpdateDataCanvas");
        }
コード例 #19
0
        /// <summary>
        /// 在地图上生成奖励物品
        /// </summary>
        /// <param name="reward">Reward.</param>
        /// <param name="rewardPosition">Reward position.</param>
        /// <param name="rewardPool">Reward pool.</param>
        public void SetUpRewardInMap(Item reward, Vector3 rewardPosition, InstancePool rewardPool)
        {
            this.reward = reward;

            this.rewardPool = rewardPool;

            sr.sprite = GameManager.Instance.gameDataCenter.GetGameItemSprite(reward);

            transform.position    = new Vector3(rewardPosition.x, rewardPosition.y, rewardPosition.z);
            sr.transform.position = new Vector3(rewardPosition.x, rewardPosition.y + 0.5f, rewardPosition.z);

            sr.sortingOrder = -Mathf.RoundToInt(rewardPosition.y);

            gameObject.SetActive(true);

            // 检查人物背包是否已经满了
            bool bagFull = Player.mainPlayer.CheckBagFull(reward);

            bool npcCanvasOnTop = false;

            Canvas npcCanvas = TransformManager.FindTransform("NPCCanvas").GetComponent <Canvas>();

            npcCanvasOnTop = npcCanvas.enabled;

            // 背包满了
            if (bagFull)
            {
                // 提示背包已满
                if (npcCanvasOnTop)
                {
                    npcCanvas.GetComponent <NPCViewController>().tintHUD.SetUpSingleTextTintHUD("背包已满");
                }
                else
                {
                    ExploreManager.Instance.expUICtr.SetUpSingleTextTintHUD("背包已满");
                }

                bc2d.enabled = true;
                // 奖励物品在地图上漂浮
                if (rewardFloatCoroutine != null)
                {
                    StopCoroutine(rewardFloatCoroutine);
                }
                rewardFloatCoroutine = RewardFloat();
                StartCoroutine(rewardFloatCoroutine);
                ExploreManager.Instance.newMapGenerator.mapWalkableInfoArray[Mathf.RoundToInt(rewardPosition.x), Mathf.RoundToInt(rewardPosition.y)] = 2;
            }
            else
            {
                // 玩家获得物品
                if (!npcCanvasOnTop)
                {
                    ExploreManager.Instance.ObtainReward(reward);
                }

                bc2d.enabled = false;

                // 物品飞向玩家
                RewardFlyToPlayer(delegate
                {
                    AddToPool(rewardPool);
                    ExploreManager.Instance.expUICtr.UpdateBottomBar();
                }, true);
            }
        }
コード例 #20
0
        /// <summary>
        /// 在物品详细信息页点击了使用按钮(消耗品)
        /// </summary>
        public void OnUseButtonClick()
        {
            Debug.Log("使用了" + currentSelectItem.itemName);

            bool consumblesUsedInExploreScene = false;

            Consumables consumables = currentSelectItem as Consumables;

            Agent.PropertyChange propertyChange = new Agent.PropertyChange();

            switch (consumables.itemName)
            {
            case "药剂":
            case "草药":
            case "蓝莓":
            case "菠菜":
            case "胡萝卜":
            case "樱桃":
            case "南瓜":
            case "蘑菇":
            case "辣椒":

                propertyChange = Player.mainPlayer.UseMedicines(consumables);

                bagView.SetUpPlayerStatusPlane(propertyChange);

                consumblesUsedInExploreScene = false;
                break;

            case "卷轴":

                Player.mainPlayer.RemoveItem(consumables, 1);

                Player.mainPlayer.ResetBattleAgentProperties(true);

                TransformManager.FindTransform("ExploreManager").GetComponent <ExploreManager> ().QuitExploreScene(true);

                consumblesUsedInExploreScene = false;
                break;

            case "锄头":
            case "锯子":
            case "镰刀":
            case "钥匙":
            case "树苗":
            case "火把":
            case "水":
            case "地板":
            case "土块":
            case "开关":
                consumblesUsedInExploreScene = true;
                break;
            }

            bagView.QuitItemDetailHUD();

            if (consumblesUsedInExploreScene)
            {
                OnQuitBagPlaneButtonClick();
                exploreManager.GetComponent <ExploreManager>().clickForConsumablesPos = true;
                exploreManager.GetComponent <ExploreManager>().ShowConsumablesValidPointTintAround(consumables);
            }

            if (!Player.mainPlayer.CheckBagFull())
            {
                AddItemInWait();
            }

            bagView.SetUpCurrentBagItemsPlane();
        }
コード例 #21
0
        public void InitBattlePlayer()
        {
            Transform canvas = TransformManager.FindTransform("ExploreCanvas");

            bpUICtr = canvas.GetComponent <BattlePlayerUIController> ();
        }
コード例 #22
0
        /// <summary>
        /// 移动到下一个节点
        /// </summary>
        private void MoveToNextPosition()
        {
            Vector3 nextPos = Vector3.zero;

            boxCollider.enabled = true;

            if (pathPosList.Count > 0)
            {
                nextPos = pathPosList [0];

                if (ArriveEndPoint() && armatureCom.animation.lastAnimationName != "wait")
                {
                    PlayRoleAnim("wait", 0, null);
                    return;
                }

                bool resetWalkAnim = false;

                if (Mathf.RoundToInt(nextPos.x) == Mathf.RoundToInt(transform.position.x))
                {
                    if (nextPos.y < transform.position.y)
                    {
                        if (modelActive != playerForward)
                        {
                            resetWalkAnim = true;
                        }
                        ActiveBattlePlayer(true, false, false);
                    }
                    else if (nextPos.y > transform.position.y)
                    {
                        if (modelActive != playerBackWard)
                        {
                            resetWalkAnim = true;
                        }
                        ActiveBattlePlayer(false, true, false);
                    }
                }

                if (Mathf.RoundToInt(nextPos.y) == Mathf.RoundToInt(transform.position.y))
                {
                    if (modelActive != playerSide)
                    {
                        resetWalkAnim = true;
                    }
                    else if ((nextPos.x > transform.position.x && armatureCom.armature.flipX == true) ||
                             (nextPos.x < transform.position.x && armatureCom.armature.flipX == false))
                    {
                        resetWalkAnim = true;
                    }

                    ActiveBattlePlayer(false, false, true);

                    bool nextPosLeft = nextPos.x < transform.position.x;
                    armatureCom.armature.flipX = nextPosLeft;
                    towards = nextPosLeft ? MyTowards.Left : MyTowards.Right;
                }

                if (isIdle)
                {
                    resetWalkAnim = true;
                }

                if (resetWalkAnim)
                {
                    PlayRoleAnim("walk", 0, null);
                }
            }

            // 到达终点前的单步移动开始前进行碰撞检测
            // 1.如果碰撞体存在,则根据碰撞体类型给exploreManager发送消息执行指定回调
            // 2.如果未检测到碰撞体,则开始本次移动
            if (pathPosList.Count == 1)
            {
                Vector3 rayStartPos = (transform.position + pathPosList [0]) / 2;

                RaycastHit2D r2d = Physics2D.Linecast(rayStartPos, pathPosList [0], collosionLayer);


                if (r2d.transform != null)
                {
                    switch (r2d.transform.tag)
                    {
                    case "monster":
                        StopWalkBeforeEvent();
                        if (modelActive != playerSide)
                        {
                            ActiveBattlePlayer(false, false, true);
                        }
                        enterMonster(r2d.transform);
                        return;

                    case "npc":
                        StopWalkBeforeEvent();
                        enterNpc(r2d.transform);
                        return;

//					case "workbench":
//						StopWalkBeforeEvent ();
//						enterWorkBench (r2d.transform);
//						return;
                    case "crystal":
                        StopWalkBeforeEvent();
                        enterCrystal(r2d.transform);
                        return;

                    case "billboard":
                        StopWalkBeforeEvent();
                        enterBillboard(r2d.transform);
                        return;

                    case "movablefloor":
                        break;

                    case "firetrap":
                        break;

                    case "hole":
                        StopWalkBeforeEvent();
                        enterHole(r2d.transform);
                        return;

                    case "movablebox":
                        StopWalkBeforeEvent();
                        enterMovableBox(r2d.transform);
                        return;

                    case "obstacle":
                        StopWalkBeforeEvent();
                        enterObstacle(r2d.transform);
                        return;

                    case "treasurebox":
                        StopWalkBeforeEvent();
                        enterTreasureBox(r2d.transform);
                        return;

                    case "normalswitch":
                        StopWalkBeforeEvent();
                        enterTrapSwitch(r2d.transform);
                        return;

                    case "normaltrap":
                        break;

                    case "transport":
                        StopWalkBeforeEvent();
                        TransformManager.FindTransform("ExploreManager").GetComponent <ExploreManager> ().EnterNextLevel();
                        return;

                    case "door":
                        StopWalkBeforeEvent();
                        enterDoor(r2d.transform);
                        return;

                    case "launcher":
                        StopWalkBeforeEvent();
                        return;

                    case "plant":
                        StopWalkBeforeEvent();
                        enterPlant(r2d.transform);
                        return;

                    case "pressswitch":
                        break;

                    case "docoration":
                        StopWalkBeforeEvent();
                        return;
                    }
                }
            }
            // 路径中没有节点
            // 按照行动路径已经将所有的节点走完
            if (pathPosList.Count == 0)
            {
                // 走到了终点
                if (ArriveEndPoint())
                {
                    moveTweener.Kill(true);
                    backgroundMoveTweener.Kill(true);
                    PlayRoleAnim("wait", 0, null);
//					Debug.Log ("到达终点");
                }
                else
                {
                    Debug.Log(string.Format("actual pos:{0}/ntarget pos:{1},predicat pos{2}", transform.position, moveDestination, singleMoveEndPos));
                    throw new System.Exception("路径走完但是未到终点");
                }
                return;
            }

            // 如果还没有走到终点
            if (!ArriveEndPoint())
            {
                SoundManager.Instance.PlayAudioClip("Other/sfx_Footstep");

                // 记录下一节点位置
                singleMoveEndPos = nextPos;

                // 向下一节点移动
                MoveToPosition(nextPos);

                // 标记单步移动中
                inSingleMoving = true;
            }
            else
            {
                moveTweener.Kill(true);
                backgroundMoveTweener.Kill(true);
                PlayRoleAnim("wait", 0, null);
            }
        }
コード例 #23
0
        public void OnBuyButtonClick()
        {
            if (currentSelectedItem == null)
            {
                return;
            }

            bool buySuccess = PlayerBuyGoods(currentSelectedItem);

            string tint = "";

            if (!buySuccess)
            {
                tint = "水晶不足";
                tintHUD.SetUpTintHUD(tint, null);
                return;
            }

            if (Player.mainPlayer.CheckBagFull())
            {
                GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.bagCanvasBundleName, "BagCanvas", () => {
                    TransformManager.FindTransform("BagCanvas").GetComponent <BagViewController> ().AddBagItemWhenBagFull(currentSelectedItem);
                }, false, true);
            }
            else
            {
                switch (currentSelectedItem.itemType)
                {
                case ItemType.UnlockScroll:
                    tint = string.Format("获得 解锁卷轴{0}{1}{2}", CommonData.diamond, currentSelectedItem.itemName, CommonData.diamond);
                    break;

                case ItemType.CraftingRecipes:
                    tint = string.Format("获得 合成卷轴{0}{1}{2}", CommonData.diamond, currentSelectedItem.itemName, CommonData.diamond);
                    break;

                default:
                    tint = string.Format("获得 {0} x1", currentSelectedItem.itemName);
                    break;
                }

                Sprite goodsSprite = GameManager.Instance.gameDataCenter.allItemSprites.Find(delegate(Sprite obj) {
                    return(obj.name == currentSelectedItem.spriteName);
                });

                tintHUD.SetUpTintHUD(tint, goodsSprite);
            }

            bpUICtr.UpdateItemButtonsAndStatusPlane();

            currentSelectedItem = null;

            ClearItemDetail();

            if ((currentEnteredNpc as Trader).itemsAsGoodsOfCurrentLevel.Count == 0)
            {
                QuitTradePlane();
                return;
            }

            SetUpTradePlane();
        }
コード例 #24
0
        public static void InitBoss()
        {
            string monsterDataPath = "/Users/houlianghong/Desktop/MyGameData/boss.csv";

            MonsterModel[] monsterModels = LoadMonsterModels(monsterDataPath);

            for (int i = 0; i < monsterModels.Length; i++)
            {
                MonsterModel mm = monsterModels[i];

                string monsterName = mm.monsterSkeName;

                Transform monster = TransformManager.FindTransform(monsterName);

                if (monster == null)
                {
                    Debug.LogFormat("未找到名为{0}的怪物", monsterName);
                    continue;
                }


                Monster monsterScript = monster.gameObject.GetComponent <Monster>();
                if (monsterScript == null)
                {
                    monsterScript = monster.gameObject.AddComponent <Monster>();
                }

                //BattleMonsterController bmcScript = monster.gameObject.GetComponent<BattleMonsterController>();

                MapMonster mmScript = monster.gameObject.GetComponent <MapMonster>();
                if (mmScript == null)
                {
                    mmScript = monster.gameObject.AddComponent <MapMonster>();
                }



                monsterScript.monsterId        = mm.monsterId;
                monsterScript.agentName        = mm.monsterName;
                monsterScript.agentLevel       = 1;
                monsterScript.rewardGold       = mm.gold;
                monsterScript.rewardExperience = mm.experience;

                monsterScript.originalMaxHealth = mm.maxHealth;
                monsterScript.health            = mm.maxHealth;
                monsterScript.maxHealth         = mm.maxHealth;
                monsterScript.health            = mm.maxHealth;

                monsterScript.mAttackInterval = mm.attackInterval;

                monsterScript.originalAttack = mm.attack;
                monsterScript.attack         = mm.attack;

                monsterScript.originalMagicAttack = mm.magicAttack;
                monsterScript.magicAttack         = mm.magicAttack;

                monsterScript.originalArmor = mm.armor;
                monsterScript.armor         = mm.armor;

                monsterScript.originalMagicResist = mm.magicResist;
                monsterScript.magicResist         = mm.magicResist;

                monsterScript.originalArmorDecrease = mm.armorDecrease;
                monsterScript.armorDecrease         = mm.armorDecrease;

                monsterScript.originalMagicResistDecrease = mm.magicResistDecrease;
                monsterScript.magicResistDecrease         = mm.magicResistDecrease;

                monsterScript.originalDodge = mm.dodge;
                monsterScript.dodge         = mm.dodge;

                monsterScript.originalCrit = mm.crit;
                monsterScript.crit         = mm.crit;

                monsterScript.originalCritHurtScaler = mm.critHurtScaler;
                monsterScript.critHurtScaler         = mm.critHurtScaler;

                monsterScript.originalPhysicalHurtScaler = 1f;
                monsterScript.physicalHurtScaler         = 1f;

                monsterScript.originalMagicalHurtScaler = 1f;
                monsterScript.magicalHurtScaler         = 1f;

                //monsterScript.extraPoisonHurt = 0;
            }

            Debug.Log("boss init finish");
        }
コード例 #25
0
        private IEnumerator PlayTransition(string[] transitionStrings, CallBack finishTransitionCallBack)
        {
            if (transitionType != TransitionType.None && transitionType != TransitionType.VersionUpdate)
            {
                transitionPlaneMask.enabled = true;
                yield return(new WaitForSeconds(1.0f));

                transitionPlaneMask.enabled = false;
            }

            Transform loadingCanvas = TransformManager.FindTransform("LoadingCanvas");

            while (loadingCanvas != null)
            {
                yield return(null);
            }

            if (transitionType == TransitionType.ResetGameHint)
            {
                resetGameDataHintText.enabled = true;
            }
            else
            {
                resetGameDataHintText.enabled = false;
            }

            if (transitionStrings != null)
            {
                int totalSentenceCount = transitionStrings.Length;

                transitionTextContainer.localPosition = new Vector3(0, totalSentenceCount * heightBase / 2, 0);

                transitionPlaneMask.enabled = false;

                clickTintText.enabled = false;

                float alphaChangeSpeed = 1.0f / fadeInTime;

                float alpha = 0;

                for (int i = 0; i < totalSentenceCount; i++)
                {
                    Text t = Instantiate(transitionTextModel.gameObject, transitionTextContainer).GetComponent <Text>();

                    t.text = transitionStrings[i];

                    alpha = 0;


                    while (alpha < 1)
                    {
                        t.color = new Color(1, 1, 1, alpha);

                        //alpha += alphaChangeSpeed * Time.unscaledDeltaTime;
                        alpha += alphaChangeSpeed * Time.deltaTime;

                        yield return(null);
                    }

                    //yield return new WaitForSecondsRealtime(sentenceInterval);

                    yield return(new WaitForSeconds(sentenceInterval));
                }

                bool clickContinue = false;

                switch (transitionType)
                {
                case TransitionType.Introduce:
                    transitionPlaneMask.enabled       = true;
                    transitionPlaneMask.color         = new Color(0, 0, 0, 0);
                    transitionPlaneMask.raycastTarget = true;
                    clickTintText.text    = "点击屏幕继续";
                    clickTintText.enabled = true;
                    alpha         = 0.5f;
                    clickContinue = true;
                    break;

                case TransitionType.None:
                case TransitionType.VersionUpdate:
                case TransitionType.Death:
                    break;

                case TransitionType.End:
                    transitionPlaneMask.enabled       = true;
                    transitionPlaneMask.color         = new Color(0, 0, 0, 0);
                    transitionPlaneMask.raycastTarget = true;
                    clickTintText.text    = "点击屏幕重置进度";
                    clickTintText.enabled = true;
                    alpha         = 0.5f;
                    clickContinue = true;
                    break;

                case TransitionType.ResetGameHint:
                    transitionPlaneMask.enabled       = true;
                    transitionPlaneMask.color         = new Color(0, 0, 0, 0);
                    transitionPlaneMask.raycastTarget = true;
                    clickTintText.text    = "点击屏幕继续";
                    clickTintText.enabled = true;
                    alpha         = 0.5f;
                    clickContinue = true;
                    break;
                }

                // 如果需要点击屏幕才可以继续的情况
                if (clickContinue)
                {
                    while (!hasUserClick)
                    {
                        while (alpha < 1f)
                        {
                            clickTintText.color = new Color(1, 1, 1, alpha);

                            //alpha += alphaChangeSpeed * Time.unscaledDeltaTime / 2;

                            alpha += alphaChangeSpeed * Time.deltaTime / 2;

                            if (hasUserClick)
                            {
                                break;
                            }

                            yield return(null);
                        }

                        while (alpha > 0.5f)
                        {
                            clickTintText.color = new Color(1, 1, 1, alpha);

                            alpha -= alphaChangeSpeed * Time.deltaTime / 2;

                            if (hasUserClick)
                            {
                                break;
                            }

                            yield return(null);
                        }
                    }
                }

                alpha = 0;

                while (alpha < 1)
                {
                    transitionPlaneMask.color = new Color(0, 0, 0, alpha);

                    //alpha += alphaChangeSpeed * Time.unscaledDeltaTime;
                    alpha += alphaChangeSpeed * Time.deltaTime;

                    yield return(null);
                }
            }

            switch (transitionType)
            {
            case TransitionType.Introduce:
            case TransitionType.VersionUpdate:
                GameManager.Instance.soundManager.PlayBgmAudioClip(CommonData.exploreBgmName);
                Player.mainPlayer.isNewPlayer = false;
                GameManager.Instance.persistDataManager.SaveCompletePlayerData();
                break;

            case TransitionType.None:
            case TransitionType.Death:
                break;

            case TransitionType.End:
                PlayRecord        playRecord  = new PlayRecord();
                List <PlayRecord> playRecords = GameManager.Instance.gameDataCenter.allPlayRecords;
                playRecords.Add(playRecord);
                GameManager.Instance.persistDataManager.SavePlayRecords(playRecords);
                break;

            case TransitionType.ResetGameHint:
                break;
            }

            if (finishTransitionCallBack != null)
            {
                finishTransitionCallBack();
            }


            this.gameObject.SetActive(false);

            for (int i = 0; i < transitionTextContainer.childCount; i++)
            {
                Destroy(transitionTextContainer.GetChild(i).gameObject, 0.3f);
            }
        }
コード例 #26
0
 public void OnUnlockedItemsButtonClick()
 {
     GameManager.Instance.UIManager.SetUpCanvasWith(CommonData.unlockedItemsCanvasBundleName, "UnlockedItemsCanvas", () => {
         TransformManager.FindTransform("UnlockedItemsCanvas").GetComponent <UnlockedItemsViewController>().SetUpUnlockedItemsView();
     }, false, true);
 }
コード例 #27
0
        /// <summary>
        /// 根据数据名称释放数据资源
        /// </summary>
        /// <param name="type">Type.</param>
        private void ReleaseDataWithName(GameDataType type)
        {
            switch (type)
            {
            case GameDataType.GameSettings:
                mGameSettings = null;
                break;

            case GameDataType.GameLevelDatas:
                mGameLevelDatas.Clear();
                break;

            case GameDataType.EquipmentModels:
                mAllEquipmentModels.Clear();
                break;

            case GameDataType.ConsumablesModels:
                mAllConsumablesModels.Clear();
                break;

            case GameDataType.SkillGemstoneModels:
                mAllPropertyGemstoneModels.Clear();
                break;

            case GameDataType.SpecialItemModels:
                mAllSpecialItemModels.Clear();
                break;

            case GameDataType.SpellItemModels:
                mAllSpellItemModels.Clear();
                break;

            case GameDataType.SkillScrollModels:
                mAllSkillScrollModels.Clear();
                break;

            case GameDataType.EquipmentSprites:
                mAllEquipmentSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allEquipmentSpritesBundleName, true);
                break;

            case GameDataType.ConsumablesSprites:
                mAllConsumablesSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allConsumablesSpritesBundleName, true);
                break;

            case GameDataType.SkillGemstoneSprites:
                mAllPropertyGemstoneSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allPropertyGemstoneSpritesBundleName, true);
                break;

            case GameDataType.SpecialItemSprites:
                mAllSpecialItemSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allSpecialItemSpritesBundleName, true);
                break;

            case GameDataType.SkillScrollSprites:
                mAllSkillScrollSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allSkillScrollSpritesBundleName, true);
                break;

            case GameDataType.MapSprites:
                mAllMapSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allMapSpritesBundleName, true);
                break;

            case GameDataType.MapTileAtlas:
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.mapTileset_1_BundleName, true);
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.mapTileset_2_BundleName, true);
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.mapTileset_3_BundleName, true);
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.mapTileset_4_BundleName, true);
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.mapTileset_5_BundleName, true);
                break;

            case GameDataType.CharacterSprites:
                mAllCharacterSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allCharacterSpritesBundleName, true);
                break;

            case GameDataType.Skills:
                mAllSkills.Clear();
                TransformManager.DestroyTransfromWithName("AllSkills");
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allSkillsBundleName, true);
                break;

            case GameDataType.SkillSprites:
                mAllSkillSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allSkillSpritesBundleName, true);
                break;

            case GameDataType.MiniMapSprites:
                mAllMinimapSprites.Clear();
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allMinimapSpritesBundleName, true);
                break;

            case GameDataType.Monsters:
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allMonstersBundleName, true);
                break;

            case GameDataType.MonstersUI:
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allMonstersUIBundleName, true);
                break;

            case GameDataType.MonstersData:
                mAllMonstersData.Clear();
                break;

            case GameDataType.NPCs:
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allMapNpcBundleName, true);
                break;

            case GameDataType.Effects:
                mAllEffects.Clear();
                TransformManager.DestroyTransfromWithName("AllEffects");
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.allEffectsBundleName, true);
                break;

            case GameDataType.Diary:
                mAllDiaryModels.Clear();
                break;

            case GameDataType.Proverbs:
                mAllProverbs.Clear();
                break;

            case GameDataType.Puzzle:
                mAllPuzzles.Clear();
                break;

            case GameDataType.PlayRecord:
                mAllPlayRecords.Clear();
                break;

            case GameDataType.ChatRecord:
                mChatRecords.Clear();
                break;

            case GameDataType.CurrentMapMiniMapRecord:
                mCurrentMapMiniMapRecord = null;
                break;

            case GameDataType.MapEventsRecords:
                mMapEventsRecords.Clear();
                break;

            case GameDataType.CurrentMapEventsRecord:
                mCurrentMapEventsRecord = null;
                break;

            case GameDataType.CurrentMapWordsRecord:
                mCurrentMapWordRecords.Clear();
                break;

            case GameDataType.BagCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("BagCanvas");
                break;

            case GameDataType.SettingCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("SettingCanvas");
                break;

            case GameDataType.ShareCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("ShareCanvas");
                break;

            case GameDataType.NPCCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("NPCCanvas");
                break;

            case GameDataType.LoadingCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("LoadingCanvas");
                break;

            case GameDataType.GuideCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("GuideCanvas");
                break;

            case GameDataType.RecordCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("RecordCanvas");
                break;

            case GameDataType.HomeCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("HomeCanvas");
                break;

            case GameDataType.ExploreScene:
                GameManager.Instance.UIManager.RemoveCanvasCache("ExploreCanvas");
                MyResourceManager.Instance.UnloadAssetBundle(CommonData.exploreSceneBundleName, true);
                break;

            case GameDataType.PlayRecordCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("PlayRecordCanvas");
                break;

            case GameDataType.UpdateDataCanvas:
                GameManager.Instance.UIManager.RemoveCanvasCache("UpdateDataCanvas");
                break;
            }
        }