protected void TickOpenNewLittleZooFlag(int deltaTimeMS)
        {
            this.newLittleZooFlagAccumulate += deltaTimeMS;
            if (newLittleZooFlagAccumulate >= this.newLittleZooFlagInterval)
            {
                newLittleZooFlagAccumulate -= this.newLittleZooFlagInterval;

                var playerData  = GlobalDataManager.GetInstance().playerData;
                int littleZooID = playerData.GetFirstUnopenLittleZooID();
                if (littleZooID == Const.Invalid_Int)
                {
                    if (newLittleZooFlagTrans != null)
                    {
                        newLittleZooFlagTrans.gameObject.SetActive(false);
                    }
                    return;
                }
                var needStar = AddNewlittleZooCoin(littleZooID);
                if (newLittleZooFlagTrans == null)
                {
                    newLittleZooFlagTrans = ResourceManager.GetInstance().LoadGameObject(Config.globalConfig.getInstace().ExclamatoryEffectRes).transform;
                }
                var       littleZoo   = GlobalDataManager.GetInstance().zooGameSceneData.littleZooParentNode;
                string    path        = string.Format("{0}/animation/close", littleZooID);
                Transform littleZooGB = littleZoo.Find(path);
                if (littleZooGB == null)
                {
                    string e = string.Format("报错:动物栏{0}下没有子对象close", littleZooID);
                    throw new System.Exception(e);
                }
                else
                {
                    littleZooGB.gameObject.SetActive(false);
                }
                int idx = Config.buildupConfig.getInstace().getCell(littleZooID).affirmopen;
                if (playerData.playerZoo.star < needStar)
                {
                    newLittleZooFlagTrans.gameObject.SetActive(false);
                    littleZooGB.gameObject.SetActive(true);
                    return;
                }
                else
                {
                    newLittleZooFlagTrans.gameObject.SetActive(true);
                    littleZooGB.gameObject.SetActive(false);
                }

                if (idx == 0)
                {
                    newLittleZooFlagTrans.gameObject.SetActive(false);
                    littleZooGB.gameObject.SetActive(true);
                }

                Vector3 pos = LittleZooPosManager.GetInstance().GetPos(littleZooID);
                pos.y = Config.globalConfig.getInstace().LittleZooExclamatoryEffectOffsetY;
                newLittleZooFlagTrans.position = pos;
            }
        }
        public override void Enter(int preStateName)
        {
            base.Enter(preStateName);
            var entity = (this.fsmCtr as FSMMachineVisitor).ownerEntity;

            DebugFile.GetInstance().WriteKeyFile(entity.entityID, "{0} StateVisitorStayVisitSeat.Enter", entity.entityID);
            DebugFile.GetInstance().MarkGameObject(entity.mainGameObject, "visitor_{0}_{1}_{2}", entity.entityID, (VisitorState)this.preStateName, (VisitorState)this.stateName);

            isToVisitorStateChoseLittleZoo    = false;
            isToStateVisitorLeaveNonLittleZoo = false;
            shouldImmediateFinishVisitCD      = false;

            effID = Const.Invalid_Int;
            effGo = null;

            isRevCDVal = false;
            if (visitCD != null)
            {
                visitCD.Stop();
            }

            // LogWarp.LogFormat("-->Visitor enter tour state: littleZooId ={0}visitorId ={1}", entity.stayBuildingID, entity.entityID);
            // 观光游客面朝动物栏中心
            entity.LookAt(LittleZooPosManager.GetInstance().GetPos(entity.stayBuildingID));

            MessageManager.GetInstance().Regist((int)GameMessageDefine.LittleZooDataReply, OnLittleZooDataReply);
            MessageManager.GetInstance().Regist((int)GameMessageDefine.VisitorVisitCDFinshedReply, OnVisitorVisitCDFinshedReply);
            MessageManager.GetInstance().Regist((int)GameMessageDefine.ImmediateFinishVisitCD, OnImmediateFinishVisitCD);

            //模型到达动物栏等待位   调用新手引导的内容  显示步骤16
            if (GlobalDataManager.GetInstance().playerData.playerZoo.isGuide == true)
            {
                UIGuidePage uIGuidePage = PageMgr.GetPage <UIGuidePage>();
                if (uIGuidePage == null)
                {
                    string e = string.Format("新手引导界面  PageMgr.allPages里 UIGuidePage   为空");
                    throw new System.Exception(e);
                }
                //LogWarp.LogError("测试:     uIGuidePage.procedure=      " + uIGuidePage.procedure);
                if (uIGuidePage.newBieGuild_step == NewBieGuild.Step_16)
                {
                    uIGuidePage.TAEvent_finish();
                    uIGuidePage.newBieGuild_step = NewBieGuild.Step_17;
                    uIGuidePage.TAEvent_start();                     //本阶段显示文本
                    uIGuidePage.TAEvent_process();
                    uIGuidePage.OnClickDialogBoxButton();
                }
                else if (uIGuidePage.newBieGuild_step == NewBieGuild.Step_17)
                {
                    PageMgr.ShowPage <UIGuidePage>();  //开启新手引导UI
                }
            }
            //进入这个状态开始计算游览cd
            LittleZooData.Send(entity.entityID, entity.stayBuildingID);
        }
        public static void LoadLittleZoo(int sceneID, int littleZooID, int idx, Transform partnet, bool isUpLevelShow = true)
        {
            GlobalDataManager.GetInstance().zooGameSceneData.RemoveLoadLittleZoo(littleZooID);

            var cellBuild = Config.buildupConfig.getInstace().getCell(littleZooID);

            var cellRes = Config.resourceConfig.getInstace().getCell(cellBuild.loadresource[idx]);

            LogWarp.Log(cellRes.prefabpath);
            var goLittleZoo = ResourceManager.GetInstance().LoadGameObject(cellRes.prefabpath);

            goLittleZoo.name = littleZooID.ToString();

            if (partnet == null)
            {
                partnet = GlobalDataManager.GetInstance().zooGameSceneData.littleZooParentNode;
            }

            goLittleZoo.transform.SetParent(partnet, false);
            var pos = LittleZooPosManager.GetInstance().GetPos(littleZooID);

            goLittleZoo.transform.position = pos;
            if (idx > 0 && isUpLevelShow == true)
            {
                PlayerSimpleParticle(goLittleZoo.transform.Find("effect_node"));
                IsGuidOpenUIBuildShowPage(goLittleZoo, littleZooID);
            }
            GlobalDataManager.GetInstance().zooGameSceneData.AddLoadLittleZoo(littleZooID, goLittleZoo);

            if (littleZooID == 1001 && idx == 1)
            {
                return;
            }


            //if (idx == 1 && isUpLevelShow == true)
            //{
            //    GlobalDataManager.GetInstance().playerData.playerZoo.BuildShowTransform = goLittleZoo.transform;

            //    //PageMgr.ClosePage<UIMainPage>();
            //    MessageString.Send((int)GameMessageDefine.UIMessage_ActiveButHidePart, "UIMainPage");
            //    PageMgr.ShowPage<UIBuildShowPage>(littleZooID);  //旋转视角UI
            //    System.Action action = null;
            //    action?.Invoke();
            //    var anim = goLittleZoo.GetComponentInChildren<Animation>();
            //    if (anim != null)
            //    {
            //        SimpleAnimation buildingClickSa = new SimpleAnimation();
            //        buildingClickSa.Init(anim);
            //        buildingClickSa.Play(Config.globalConfig.getInstace().BuildClickAnim);
            //    }
            //}
        }