예제 #1
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();
            }
        }