예제 #1
0
        public void Reset()
        {
            m_ListeningStepDict.Clear();
            m_ForceStartStepDict.Clear();

            if (m_UpdateTimer != null)
            {
                m_UpdateTimer.Destroy();
                m_UpdateTimer = null;
            }

            if (m_DBGuide != null)
            {
                m_DBGuide.Reset();
                m_DBGuide = null;
            }

            if (m_DBGuideStep != null)
            {
                m_DBGuideStep.Reset();
                m_DBGuideStep = null;
            }

            m_FinishedBranchTask.Clear();
            m_TimelineStatus.Clear();
            m_Dirty = false;
            m_IsPlayingGuideStep = false;
            m_PlayingGuideStep   = null;
            mPlayingGuide        = null;
            m_ListenerStarted    = false;
        }
예제 #2
0
        public void Reset(bool ignore_reconnect)
        {
            TeamId      = 0;
            LeaderId    = 0;
            TeamMembers = new List <PkgTeamMember>();
            TeamMembers.Clear();
            ApplyList = new List <PkgTeamUserIntro>();
            ApplyList.Clear();
            TargetType                 = 1;
            TargetId                   = 0;
            TargetMinLevel             = 0;
            TargetMaxLevel             = 0;
            PlatformSelectedTargetType = 0;
            PlatformSelectedTargetId   = 0;
            MatchingTeamTargetId       = 0;
            mIsAutoMatchingTeam        = false;
            mIsAutoMatchingPlayer      = false;
            mAutoMatchTeamElapsedTime  = 0f;
            mInviteInfoCDs             = new Dictionary <uint, Utils.Timer>();
            mInviteInfoCDs.Clear();
            if (mInviteAllCD != null)
            {
                mInviteAllCD.Destroy();
                mInviteAllCD = null;
            }

            if (ignore_reconnect == false)
            {
                BeInvitedInfos.Clear();
            }
        }
예제 #3
0
 void DestroyCancelTimer()
 {
     if (mCancelTimer != null)
     {
         mCancelTimer.Destroy();
         mCancelTimer = null;
     }
 }
예제 #4
0
 //--------------------------------------------------------
 //  内部调用
 //--------------------------------------------------------
 void DestroyOKTimer()
 {
     if (mOKTimer != null)
     {
         mOKTimer.Destroy();
         mOKTimer = null;
     }
 }
예제 #5
0
        public void PostRoleInfoWithDelay(float remainTime)
        {
            if (mPostRoleInfoTimer != null)
            {
                mPostRoleInfoTimer.Destroy();
                mPostRoleInfoTimer = null;
            }

            PostRoleInfo();
        }
예제 #6
0
        private float mResetInterval       = 5;  //自动重置列表目标的时长(秒)
        public override void Enter(params object[] param)
        {
            inst           = this;
            mCurShowObjIdx = 0;
            mDataArray.Clear();
            mNoAttackInterval = GameConstHelper.GetFloat("GAME_BATTLE_HOSTILE_NO_ATTACK_TIME");
            mResetInterval    = GameConstHelper.GetFloat("GAME_BATTLE_HOSTILE_RESET_TIME");
            ClientEventMgr.GetInstance().SubscribeClientEvent((int)ClientEvent.EC_ACTOR_ADD_UNDER_ATTACK, OnAddUnderAttackActor);

            if (mTimer != null)
            {
                mTimer.Destroy();
                mTimer = null;
            }
        }
예제 #7
0
        /// <summary>
        /// 重登之后需要重置
        /// </summary>
        public void Reset()
        {
            if (mDisplayTips.Count > 0)
            {
                foreach (var item in mDisplayTips)
                {
                    item.mLabel.text = string.Empty;
                }
            }
            else
            {
                mIsLoad = false;
                MainGame.HeartBehavior.StartCoroutine(InitLoad());
                mIsInit = true;
            }

            mCacheText.Clear();
            foreach (var item in mDisplayingTips)
            {
                item.gameObject.SetActive(false);
                item.transform.parent.gameObject.SetActive(false);
            }
            mDisplayingTips.Clear();
            mDisplayingTipTransforms.Clear();

            if (mTimer != null)
            {
                mTimer.Destroy();
                mTimer = null;
            }
            mTimer = new Utils.Timer((int)(GameConstHelper.GetFloat("GAME_FLOAT_TIPS_INTERVAL") * 1000f), true, Mathf.Infinity, UpdateTimer);

            ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_SWITCHINSTANCE, OnSwitchInstance);
            ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_SHOW_ROLLING_NOTICE_END, OnShowRollingNoticeEnd);
        }
예제 #8
0
            protected override void ResetUI()
            {
                base.ResetUI();

                if (mCountDownTimer != null)
                {
                    mCountDownTimer.Destroy();
                }

                mTimeout        = GameConstHelper.GetUint("GAME_OFFLINE_TIMEOUT");
                mTimeText.text  = string.Format("{0}", mTimeout); // 初始化倒计时的显示
                mStartTime      = Time.unscaledTime;
                mCountDownTimer = new Utils.Timer(mTimeout * 1000, false, 1000, OnTimeUpddate);

                Game.Instance.ManualCancelReconnect = false;
            }
예제 #9
0
        static void Clear()
        {
            if (mTimer != null)
            {
                mTimer.Destroy();
                mTimer = null;
            }
            mSecond            = 1;
            mText              = "";
            mPic               = "";
            mInterruptCallback = null;
            mFinishCallback    = null;

            var localPlayer = Game.GetInstance().GetLocalPlayer();

            if (localPlayer != null)
            {
                localPlayer.UnsubscribeActorEvent(Actor.ActorEvent.EXITIDLE, OnLocalPlayerBeInterrupted);
                localPlayer.UnsubscribeActorEvent(Actor.ActorEvent.BEATTACK, OnLocalPlayerBeInterrupted);
                localPlayer.UnsubscribeActorEvent(Actor.ActorEvent.DEAD, OnLocalPlayerBeInterrupted);
            }
            ClientEventMgr.GetInstance().UnsubscribeClientEvent((int)ClientEvent.CE_PLAYERCONTROLED, OnPlayerControlled);
            ClientEventMgr.GetInstance().UnsubscribeClientEvent((int)ClientEvent.CE_TRIGGER_SKILL_CLICK_BUTTON, OnPlayerControlled);
            ClientEventMgr.GetInstance().UnsubscribeClientEvent((int)ClientEvent.CE_CLICKCOLLISION, OnPlayerControlled);

            ClientEventMgr.Instance.FireEvent((int)ClientEvent.CONTROL_COMMON_SLIDER, new CEventObjectArgs(false, 0f, "", ""));
        }
예제 #10
0
 public void CancelQueueTime()
 {
     if (mCheckQueueTime != null)
     {
         mCheckQueueTime.Destroy();
         mCheckQueueTime = null;
     }
 }
예제 #11
0
 /// <summary>
 /// 清理更新timer
 /// </summary>
 private void CleanupUpdateTimer()
 {
     if (m_UpdateTimer != null)
     {
         m_UpdateTimer.Destroy();
         m_UpdateTimer = null;
     }
 }
예제 #12
0
 public void Reset()
 {
     if (mGCTimer != null)
     {
         mGCTimer.Destroy();
     }
     mGCTimer = new Utils.Timer(GC_INTERVAL * 1000, true, GC_INTERVAL * 1000, GCTimerUpdate);
 }
예제 #13
0
 private void ClearTime()
 {
     if (WaitTimer != null)
     {
         WaitTimer.Destroy();
         WaitTimer = null;
     }
 }
예제 #14
0
 /// <summary>
 /// 清除飘字CD
 /// </summary>
 void ClearFloatTipsCD()
 {
     if (mFloatTipsTimer != null)
     {
         mFloatTipsTimer.Destroy();
         mFloatTipsTimer = null;
     }
 }
예제 #15
0
        void ClearPoint()
        {
            if (m_updateTeamPosCd != null)
            {
                m_updateTeamPosCd.Destroy();
                m_updateTeamPosCd = null;
            }

            ClearTeamPoint();
        }
예제 #16
0
        void GoToNextBubble(float remainTime, Utils.Timer timer)
        {
            DBDialog.DialogInfo dialogInfo = timer.UserData as DBDialog.DialogInfo;

            if (dialogInfo == null)
            {
                return;
            }

            uint dialogNum         = (uint)dialogInfo.mDialogs.Count;
            uint bubbleDialogIndex = 0;

            if (mBubbleDialogIndexs.TryGetValue(dialogInfo.mId, out bubbleDialogIndex) && bubbleDialogIndex < (dialogNum - 1)) // 对话还没完
            {
                bubbleDialogIndex++;
                mBubbleDialogIndexs[dialogInfo.mId] = bubbleDialogIndex;

                TriggerBubbleImpl(bubbleDialogIndex, dialogInfo);
            }
            else
            {
                if (timer != null)
                {
                    timer.Destroy();
                    timer = null;
                }

                System.Action bubbleFinishedCallback;
                if (mBubbleFinishedCallbacks.TryGetValue(dialogInfo.mId, out bubbleFinishedCallback))
                {
                    if (bubbleFinishedCallback != null)
                    {
                        bubbleFinishedCallback();
                    }
                }

                if (mBubbleDialogInfos.ContainsKey(dialogInfo.mId))
                {
                    mBubbleDialogInfos.Remove(dialogInfo.mId);
                }
                if (mBubbleDialogIndexs.ContainsKey(dialogInfo.mId))
                {
                    mBubbleDialogIndexs.Remove(dialogInfo.mId);
                }
                if (mBubbleFinishedCallbacks.ContainsKey(dialogInfo.mId))
                {
                    mBubbleFinishedCallbacks.Remove(dialogInfo.mId);
                }
                if (mBubbleTimers.ContainsKey(dialogInfo.mId))
                {
                    mBubbleTimers.Remove(dialogInfo.mId);
                }
            }
        }
예제 #17
0
        public void UnRigisterAllMessage()
        {
            QualitySetting.Instance.OnGLChanged -= OnGraphicLevelChanged;

            ClientEventMgr.GetInstance().UnsubscribeClientEvent((int)ClientEvent.CE_LEAVEAOI, OnLeaveAOI);

            if (mUpdateTimer != null)
            {
                mUpdateTimer.Destroy();
                mUpdateTimer = null;
            }
        }
예제 #18
0
        public override void Enter(params object[] param)
        {
            if (mUpdateTimer != null)
            {
                mUpdateTimer.Destroy();
            }

            mUpdateTimer = new Utils.Timer(1000, true, 1000f, OnWildUpdate);

            mWildPlayerMgr.Reset();

            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_APPEAR, HandleServerData);
            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_DISAPPEAR, HandleServerData);
            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_NEW_VERSION, HandleServerData);
            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_LOOK, HandleServerData);
            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_UNIT_REVIVE, HandleServerData);
            Game.GetInstance().SubscribeNetNotify(NetMsg.MSG_NWAR_UNIT_DEAD, HandleServerData);

            ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_REMOTEPLAYER_CREATE, OnRemotePlayerCreated);
            ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_REMOTEMONSTERCREATEED, OnMonsterCreate);
            ClientEventMgr.Instance.SubscribeClientEvent((int)ClientEvent.CE_LOCALMONSTERCREATEED, OnMonsterCreate);
        }
예제 #19
0
        /// <summary>
        /// 角色死亡后,假阴影淡出
        /// </summary>
        /// <param name="data"></param>
        void OnDead(CEventBaseArgs data)
        {
            if (mShadowTimer != null)
            {
                mShadowTimer.Destroy();
            }

            if (mFakeShadow != null)
            {
                mFakeShadowRender = mFakeShadow.GetComponent <Renderer>();
                SetFakeShadowLayer();
            }

            if (mFakeShadowRender)
            {
                shadowDynMat = ShadowManager.Instance.GetNewDynShadowMaterial();
                mFakeShadowRender.sharedMaterial = shadowDynMat;
            }

            //获取一个假阴影动态资源

            mShadowTimer = new Utils.Timer((int)(GlobalConst.MonsterDestroyDelay * 1000), false, 100, OnFakeShadowUpdate);
        }
예제 #20
0
        protected override void UnInitUI()
        {
            GameDebug.LogWarning("UIGuideWindow.UnInitUI, this window should not be deleted");

            base.UnInitUI();

            CleanupUpdateTimer();

            if (m_GuideDescTimer != null)
            {
                m_GuideDescTimer.Destroy();
                m_GuideDescTimer = null;
            }

            UnInitEvent();
        }
예제 #21
0
        Utils.Timer mEndTimer;// 移动结束的Timer
        public void ReceiveWalkBegin(PkgNwarMove moves)
        {
            if (false == mIsRecvMsg)
            {
                return;
            }

            // 移动时的位置和方向
            Vector3 pos = Vector3.zero;
            Vector3 dir = Vector3.zero;

            pos.x = moves.pos.px * GlobalConst.UnitScale;
            pos.z = moves.pos.py * GlobalConst.UnitScale;

            // 如果速度为0,直接设置到目标点(移动时间太短的话也当作停止处理)
            if (moves.speed == 0 || (moves.time != 0 && moves.time <= 66))
            {
                pos = RoleHelp.GetPositionInScene(mOwner.ActorId, pos.x, pos.z);
                mOwner.SetPosition(pos);
                mOwner.MoveSpeed = 0;
                return;
            }

            dir.x = moves.speed * Mathf.Cos(moves.dir);
            dir.z = moves.speed * Mathf.Sin(moves.dir);

            MoveStep step = new MoveStep();

            step.type  = EActorStepType.AT_WALK_BEGIN;
            step.pos   = pos;
            step.dir   = dir;
            step.speed = moves.speed * GlobalConst.UnitScale;

            mCurStep = step;
            mbDirty  = true;

            // 如果移动时间不为0,则在规定的时间内自动停止
            if (moves.time != 0)
            {
                if (mEndTimer != null)
                {
                    mEndTimer.Destroy();
                }

                mEndTimer = new Utils.Timer((int)moves.time, false, moves.time, OnTimerFinish);
            }
        }
예제 #22
0
        static int _m_Destroy(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            Utils.Timer __cl_gen_to_be_invoked = (Utils.Timer)translator.FastGetCSObj(L, 1);


            try {
                {
                    __cl_gen_to_be_invoked.Destroy(  );



                    return(0);
                }
            } catch (System.Exception __gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e));
            }
        }
예제 #23
0
        /// <summary>
        /// 停止拾取动画
        /// </summary>
        /// <param name="is_break">是否是中断(若为false,则是正常结束动画)</param>
        /// <param name="exec_finish_action">是否停止拾取动作</param>
        public void StopAnim(bool is_break, bool exec_finish_action = false)
        {
            if (mTimer == null)
            {
                return;
            }

            //GameDebug.LogRed("StopAnim = " + is_break.ToString());
            C2SNwarPickBossChipStop reply = new C2SNwarPickBossChipStop();

            AudioManager.Instance.StopAudio_dynamic(m_pick_boss_sound_id);
            if (is_break)
            {
                UINotice.Instance.ShowMessage(DBConstText.GetText("WORLD_BOSS_PICK_STOP_TIPS"));
                reply.type = 1;
            }
            else
            {
                reply.type = 0;
            }

            NetClient.GetCrossClient().SendData <C2SNwarPickBossChipStop>(NetMsg.MSG_NWAR_PICK_BOSS_CHIP_STOP, reply);
            mTimer.Destroy();
            mTimer = null;

            m_pick_boss_sound_id = 0;
            ClientEventMgr.Instance.FireEvent((int)(ClientEvent.CE_PICK_DROP_CONTROL_SLIDER), new CEventObjectArgs(false, 0));

            if (exec_finish_action)
            {
                Actor actor = Game.Instance.GetLocalPlayer();
                if (actor != null)
                {
                    Player player = actor as Player;
                    player.FinishPickUpEffect();
                }
            }
        }
예제 #24
0
        public void Reset()
        {
            foreach (Dictionary <string, string> row in DBManager.Instance.QuerySqliteTable <string>(GlobalConfig.DBFile, "data_persional_default"))
            {
                uint id = 0;
                uint.TryParse(row["id"], out id);
                uint defaultValue = 0;
                uint.TryParse(row["default"], out defaultValue);
                switch (id)
                {
                case GameConst.SETTING_KEY_HOOK_USE_HP_DRUG_HP_RATIO:
                {
                    mUseHPDrugHPRatio = ((float)defaultValue) / 100f;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_USE_MP_DRUG_MP_RATIO:
                {
                    mUseMPDrugMPRatio = ((float)defaultValue) / 100f;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_RANGE_TYPE:
                {
                    mRangeType = (EHookRangeType)defaultValue;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_AUTO_BUY_DRUG:
                {
                    mAutoBuyDrug = (defaultValue > 0) ? true : false;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_AUTO_SWALLOW:
                {
                    mAutoSwallow = (defaultValue > 0) ? true : false;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_AUTO_REVIVE:
                {
                    mAutoRevive = (defaultValue > 0) ? true : false;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_AUTO_SELL_GOODS:
                {
                    mAutoSellGoods = (defaultValue > 0) ? true : false;
                    break;
                }

                case GameConst.SETTING_KEY_HOOK_AUTO_PICK_DROP_PREFIX:
                {
                    mAutoPickDrop = (defaultValue > 0) ? true : false;
                    break;
                }

                default:
                    break;
                }
            }

            mAutoBuyHPDrugGoodsId   = 0;
            mAutoBuyHPDrugMoneyType = 0;
            mAutoBuyHPDrugPrice     = 0;
            mAutoBuyMPDrugGoodsId   = 0;
            mAutoBuyMPDrugMoneyType = 0;
            mAutoBuyMPDrugPrice     = 0;

            mIsBuyingDrug   = false;
            mIsSellingGoods = false;
            mIsUsingHPDrug  = false;
            mIsUsingMPDrug  = false;

            if (mTimer != null)
            {
                mTimer.Destroy();
                mTimer = null;
            }
            mTimer = new Utils.Timer(5000, true, Mathf.Infinity, UpdateTimer);

            mUseHPDrugGoodsIds = GameConstHelper.GetUintList("GAME_HOOK_USE_HP_DRUG_GOODS_ID");
            mUseMPDrugGoodsIds = GameConstHelper.GetUintList("GAME_HOOK_USE_MP_DRUG_GOODS_ID");
            mAutoBuyHPDrugNum  = GameConstHelper.GetUint("GAME_HOOK_BUY_HP_DRUG_NUM");
            mAutoBuyMPDrugNum  = GameConstHelper.GetUint("GAME_HOOK_BUY_MP_DRUG_NUM");
        }
예제 #25
0
        public void HandleServerData(ushort protocol, byte[] data)
        {
            switch (protocol)
            {
            case NetMsg.MSG_EASY_LOGIN:
            {
                GameDebug.Log(">>>MSG_EASY_LOGIN");

                ChangeRoleManager.Instance.IsChangeRole = false;
                IsRebooting = false;

                S2CEasyLogin eazyLogin = S2CPackBase.DeserializePack <S2CEasyLogin>(data);
                mCharactorMaxCount = (int)eazyLogin.role_limit;
                mAccountIdx        = (int)eazyLogin.uid;
                for (int index = 0; index < eazyLogin.role_brief.Count; ++index)
                {
                    Equip.EquipHelper.DelEquipPart(eazyLogin.role_brief[index].shows, DBAvatarPart.BODY_PART.ELFIN);
                    Equip.EquipHelper.DelEquipPart(eazyLogin.role_brief[index].shows, DBAvatarPart.BODY_PART.MAGICAL_PET);
                }
                mRepCharacterList = eazyLogin.role_brief;

                if (Const.Region == RegionType.KOREA)
                {
                    ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_SERVERLIST_TO_CREATEACTOR_BEGIN, new CEventBaseArgs());
                }

                if (mRepCharacterList.Count != 0)
                {
                    SceneHelp.Instance.SwitchPreposeScene(GlobalConst.SelectActorScene, false);    // 选角场景
                }
                else
                {
#if UNITY_ANDROID || UNITY_IPHONE
                    //Handheld.PlayFullScreenMovie("Movie/YuanGu2CG.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput, FullScreenMovieScalingMode.AspectFit);
#endif
                    SceneHelp.Instance.SwitchPreposeScene(GlobalConst.CreateActorScene, false);    // 创角场景
                }
                GameDebug.Log("AccountIdx: " + mAccountIdx);

                // 登录服务器成功
                ControlServerLogHelper.Instance.PostPlayerFollowRecord(PlayerFollowRecordSceneId.LoginServerSuccess);
                ControlServerLogHelper.Instance.PostCloudLadderEventAction(CloudLadderMarkEnum.login_gs);

                if (xc.Const.Region == xc.RegionType.KOREA)
                {
                    xc.BuriedPointHelper.ReportTapjoyEvnet("server");
                }

                //UIManager.Instance.UIMain.StartCoroutine(ShowCreateActorWnd());
                ShowCreateActorWnd();
            }
            break;

            case NetMsg.MSG_ACC_QUEUE:     // 登录排队信息
            {
                GameDebug.Log(">>>MSG_ACC_QUEUE");

                S2CAccQueue rep = S2CPackBase.DeserializePack <S2CAccQueue>(data);

                GameDebug.Log("Queue Num: " + rep.total);

                xc.ui.ugui.UIManager.Instance.ShowWaitScreen(false);
                //UIManager.GetInstance().UIMain.ShowQueueNotice(true, string.Format("前方还有: {0}人", rep.total));
                if (mCheckQueueTime == null)
                {
                    mCheckQueueTime = new Utils.Timer(15000, true, 15000, OnQueueChecking);
                }
            }
            break;

            case NetMsg.MSG_ACC_QUEUE_OK:    // 排队成功
            {
                GameDebug.Log(">>>MSG_ACC_QUEUE_OK");

                //UIManager.GetInstance().UIMain.ShowQueueNotice(false, "");
                CancelQueueTime();
            }
            break;

            case NetMsg.MSG_ENTER_GAME:
            {
                GameDebug.Log(">>>MSG_ENTER_GAME");

                ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_ENTER_GAME, null);

                S2CEnterGame enter_game = S2CPackBase.DeserializePack <S2CEnterGame>(data);
                mServerTime          = enter_game.ts;
                mServerLastUpdteTime = mServerTime;
                GlobalConfig.GetInstance().LoginInfo.CreateRoleTime = enter_game.birth.ToString();

                // 开启定时器
                if (mUpdateServerTimeStopwatch == null)
                {
                    mUpdateServerTimeStopwatch = new System.Diagnostics.Stopwatch();
                }
                else
                {
                    mUpdateServerTimeStopwatch.Reset();
                }
                mUpdateServerTimeStopwatch.Start();

                if (mServerTimeTimer != null)
                {
                    mServerTimeTimer.Destroy();
                }
                mServerTimeTimer = new Utils.Timer(1000, true, Mathf.Infinity, UpdateServerTime);

                // 设置角色属性
                LocalPlayerManager.Instance.InitAttribute(Game.GetInstance().LocalPlayerTypeID, Game.Instance.LocalPlayerName);
                OnEnterGame();

                // 进入游戏的时候通知sdk
                SDKControler.getSDKControler().sendRoleInfo2SDK((int)SDKControler.RoleEvent.ENTER_GAME);
                // 设置bugly的userid
                if (Game.GetInstance().LocalPlayerID != null)
                {
                    DBOSManager.getDBOSManager().SetUserId(Game.GetInstance().LocalPlayerID.obj_idx.ToString());
                }

                IsEnterGame = true;
            }
            break;

            case NetMsg.MSG_ACC_PING:
            {
                S2CAccPing s2c_acc_ping = S2CPackBase.DeserializePack <S2CAccPing>(data);
                mServerTime          = s2c_acc_ping.time;
                mServerLastUpdteTime = mServerTime;

                // 重置定时器
                if (mUpdateServerTimeStopwatch == null)
                {
                    mUpdateServerTimeStopwatch = new System.Diagnostics.Stopwatch();
                }
                else
                {
                    mUpdateServerTimeStopwatch.Reset();
                }
                mUpdateServerTimeStopwatch.Start();

                // 发送ping消息给服务器
                C2SAccPing c2s_ping = new C2SAccPing();
                c2s_ping.time = mServerTime;
                NetClient.GetBaseClient().SendData <C2SAccPing>(NetMsg.MSG_ACC_PING, c2s_ping);
            }
            break;

            case NetMsg.MSG_ACC_HOTUP:     // 数据有更新,需要在游戏内提示玩家
            {
                Debug.Log(">>>MSG_ACC_HOTUP");
            }
            break;

            case NetMsg.MSG_ACC_SYS_SETTING:
            {
                /*var pack = S2CPackBase.DeserializePack<S2CAccSysSetting>(data);
                 * foreach (var set in pack.sets)
                 * {
                 *  QualitySetting.SetPlayerCount(set.key, set.val);
                 * }*/
            }
            break;

            case NetMsg.MSG_PLAYER_REQUEST_ALL_INFO_END:
            {
                mAllSystemInited = true;
                NetReconnect.Instance.ReconnectSucc();
                ClientEventMgr.Instance.FireEvent((int)ClientEvent.CE_ALL_SYSTEM_INITED, null);
            }
            break;

            case NetMsg.MSG_ACC_ROLE_CHANGE_FAIL:
            {
                ChangeRoleManager.Instance.IsChangeRole = false;
                m_GameMachine.React((uint)GameEvent.GE_CHANGE_ROLE_FINISH);

                IBridge bridge = DBOSManager.getDBOSManager().getBridge();
                bridge.logout();
            }
            break;

            case NetMsg.MSG_PLAYER_OPEN_TIME:
            {
                var pack = S2CPackBase.DeserializePack <S2CPlayerOpenTime>(data);

                mServerOpenTime  = pack.time;
                mMergeServerTime = pack.merge_time;
                mTimeZone        = pack.time_zone;
                var timeZoneHour = TimeZoneHour();
                var timeZoneMin  = TimeZoneMin();
                converted = new System.DateTime(1970, 1, 1, timeZoneHour, timeZoneMin, 0, 0);
            }
            break;

            case NetMsg.MSG_PLAYER_DAILY_RESET:
            {
                ClientEventMgr.Instance.FireEvent((int)ClientEvent.CE_PLAYER_DAILY_RESET, null);
            }
            break;

            default:
                break;
            }
        }