Ejemplo n.º 1
0
    public void startMianZhanTimer(long startTime, long endTime)
    {
        TimerTask task = new TimerTask(startTime, endTime, 1);

        task.taskId = TaskID.DragonMianZhanTimer;

        task.onEventEnd += mianZhanTimeCompleted;

        this.mianZhanTime = endTime - startTime;
        this.mianZhanTime = this.mianZhanTime <= 0 ? 0 : this.mianZhanTime;

        if (this.mianZhanTimerEvent != null)
        {
            this.mianZhanTimerEvent(this.mianZhanTime);
        }

        task.onEvent += (TimerTask t) =>
        {
            if (task.taskId == TaskID.DragonMianZhanTimer)
            {
                this.mianZhanTime = t.leftTime;
                if (this.mianZhanTimerEvent != null)
                {
                    this.mianZhanTimerEvent(this.mianZhanTime);
                }
            }
        };
        task.DispatchToRealHandler();
    }
Ejemplo n.º 2
0
    void StartTimer(ZhaoMuStateData state)
    {
        if (m_dicZhaomuData.ContainsKey(state.pron))
        {
            m_dicZhaomuData [state.pron] = state;
        }
        else
        {
            m_dicZhaomuData.Add(state.pron, state);
        }

        if (m_dicTimer.ContainsKey(state.pron))
        {
            Core.TimerEng.deleteTask(m_dicTimer [state.pron]);
            m_dicTimer.Remove(state.pron);
        }

        long curTime = Core.TimerEng.curTime;

        if (state.coolTime > 0)
        {
            TimerTask task = new TimerTask(curTime, curTime + state.coolTime, 1, ThreadType.MainThread);
            task.onEventEnd = OnTimeEnd;
            task.onEvent    = OnTimer;
            task.DispatchToRealHandler();

            m_dicTimer.Add(state.pron, task._Id);
        }
    }
Ejemplo n.º 3
0
    //精力计时完成
    protected void JingLiCalEnd(TimerTask task)
    {
        if (player.totalJingli > player.RTData.curJingLi)
        {
            player.RTData.curJingLi += 1;
            if (lab_Energy != null)
            {
                lab_Energy.SafeText(player.curJingLi.ToString() + "/" + player.totalJingli.ToString());

                float res = (float)player.curJingLi / (float)player.totalJingli;
                if (energySlider != null)
                {
                    energySlider.value = res;
                }
            }
        }
//		Debug.LogWarning ("  jing li  end    total jingli = " + player.totalJingli + " cur  jingli " + player.RTData.curJingLi);
        if (player.totalJingli > player.RTData.curJingLi)
        {
            long nNow = Core.TimerEng.curTime;

            TimerTask MonaTask = new TimerTask(nNow, nNow + player.RTData.unixTimeForJingLi, 1, ThreadType.MainThread);
            MonaTask.taskId      = TaskID.CalJingLi;
            MonaTask.onEventEnd += JingLiCalEnd;
            MonaTask.onEvent    += JingliMinus;
            MonaTask.DispatchToRealHandler();
        }
    }
Ejemplo n.º 4
0
    /// <summary>
    /// 开始记录下,第二天凌晨12点的时间。防止有部分用户会在晚上玩游戏之后不关闭游戏,导致服务器状态和客户端状态不一致
    /// 与此同时,也记录下当天晚上9点的时间。
    /// </summary>
    public void recordDayChanged(long sysTime)
    {
        //
        //------ 当天结束 -------
        //
        long LeftOfDayEnd = DateHelper.getLeftTimingbeforeDayChanged(sysTime);

        ConsoleEx.DebugLog("Start to recording Day Changed.. leaving seconds = " + LeftOfDayEnd, ConsoleEx.YELLOW);
        long      now  = Core.TimerEng.curTime;
        TimerTask task = new TimerTask(now, now + LeftOfDayEnd, 1);

        task.onEventEnd = OnDayChanged;
        task.DispatchToRealHandler();


        //
        // ------ 当天晚上9点 -------
        //
        long LeftOfNineNight = DateHelper.getNineNight(sysTime);

        ConsoleEx.DebugLog("Start to recording 21:00.. leaving seconds = " + LeftOfNineNight, ConsoleEx.YELLOW);
        if (LeftOfNineNight > 0)
        {
            TimerTask task2 = new TimerTask(now, now + LeftOfNineNight, 1);
            task2.onEventEnd = OnNineChanged;
            task2.DispatchToRealHandler();
        }
    }
Ejemplo n.º 5
0
    /// <summary>
    /// 延迟让用户可以点击
    /// </summary>
    void delayMakeUserCanClick()
    {
        long      now  = Core.TimerEng.curTime;
        TimerTask task = new TimerTask(now, now + 2, 1);

        task.onEventEnd = (t) => { AnimIsOver = true; };
        task.DispatchToRealHandler();
    }
Ejemplo n.º 6
0
    public void startCallDragonTimer(DragonType dragonType, long startTime, long endTime)
    {
        TimerTask task = new TimerTask(startTime, endTime, 1, ThreadType.MainThread);

        long leftTime = endTime - startTime;

        leftTime = leftTime <= 0 ? 0 : leftTime;
        if (leftTime > 0 && leftTime < 5)
        {
            leftTime = 10;
        }

        if (dragonType == DragonType.EarthDragon)
        {
            task.taskId = TaskID.CallEarthDragonTimer;
            this.callEarthDragonTime = leftTime;
            if (callDragonTimerEvent != null)
            {
                callDragonTimerEvent(DragonType.EarthDragon, this.callEarthDragonTime);
            }
        }
        else if (dragonType == DragonType.NMKXDragon)
        {
            task.taskId             = TaskID.CallNMKXDragonTimer;
            this.callNMKXDragonTime = leftTime;
            if (callDragonTimerEvent != null)
            {
                callDragonTimerEvent(DragonType.NMKXDragon, this.callNMKXDragonTime);
            }
        }


        task.onEventEnd = callDragonTimeCompleted;

        task.onEvent = (TimerTask t) =>
        {
            if (task.taskId == TaskID.CallEarthDragonTimer)
            {
                this.callEarthDragonTime = t.leftTime;
                if (callDragonTimerEvent != null)
                {
                    callDragonTimerEvent(DragonType.EarthDragon, this.callEarthDragonTime);
                }
            }
            else if (task.taskId == TaskID.CallNMKXDragonTimer)
            {
                this.callNMKXDragonTime = t.leftTime;
                if (callDragonTimerEvent != null)
                {
                    callDragonTimerEvent(DragonType.NMKXDragon, this.callNMKXDragonTime);
                }
            }
        };
        task.DispatchToRealHandler();
    }
Ejemplo n.º 7
0
    public void setHourChanged()
    {
        ActivityLimitTimeRequest();
//        sendSer(null);
//
        long      curSysTime = Core.TimerEng.curTime;
        TimerTask tt         = new TimerTask(curSysTime, curSysTime + 86400, 300, ThreadType.BackGround);

        tt.onEvent = sendSer;
        tt.DispatchToRealHandler();
    }
Ejemplo n.º 8
0
    /// <summary>
    /// 计时器
    /// </summary>
    /// <param name="sTime">开始时间.</param>
    /// <param name="endTime">截止时间.</param>
    /// <param name="interval">时间间隔  = 1 秒.</param>
    void TimerCounting(long sTime, long DeadTime, int interval)
    {
        TimerTask task = new TimerTask(Core.TimerEng.curTime, DeadTime, interval);

        task.onEventBegin += eventBegin;
        task.onEventEnd   += eventEnd;
        task.onEvent      += (TimerTask t) => {
            timeLeft = t.leftTime;
        };

        task.DispatchToRealHandler();
    }
Ejemplo n.º 9
0
        /// <summary>
        /// 不停的测试网络发送
        /// </summary>
        void loopTest()
        {
            long      now   = Core.TimerEng.curTime;
            TimerTask timer = new TimerTask(now + 5, TimerTask.INFINITY, 1);

            timer.onEvent = ((obj) => {
                for (int i = 0; i < 1; ++i)
                {
                    Server.proxyCli.CtorEnv(warInfo.Map);
                }
            });
            timer.DispatchToRealHandler();
        }
Ejemplo n.º 10
0
    /*技能副本计时*/
    public void CreateTimerSkill(long startTime, long endTime, int interval)
    {
        long now = Core.TimerEng.curTime;

        //时间已到
        if (startTime >= endTime || now >= endTime)
        {
            if (SkillFBCoding != null)
            {
                isSkillFBCoding = false;
                SkillFBCoding(0);
            }
            return;
        }

        TimerTask task = new TimerTask(now, endTime, interval, ThreadType.MainThread);

        isSkillFBCoding = true;
        task.onEvent    = (TimerTask t) =>
        {
            Core.Data.temper.SkillDJS = t.leftTime;
            if (!isApplicationPause)
            {
                AsyncTask.QueueOnMainThread(() =>
                {
                    if (SkillFBCoding != null)
                    {
                        SkillFBCoding(t.leftTime);
                    }
                });
            }
        };
        task.onEventEnd = (TimerTask t) =>
        {
            Core.Data.temper.SkillDJS = 0;
            if (!isApplicationPause)
            {
                AsyncTask.QueueOnMainThread(() =>
                {
                    isSkillFBCoding = false;
                    if (SkillFBCoding != null)
                    {
                        SkillFBCoding(0);
                    }
                });
            }
        };

        task.DispatchToRealHandler();
    }
Ejemplo n.º 11
0
    void SetTimer(long _start, long _end)
    {
        if (m_TimeLab == null)
        {
            return;
        }
        m_Lefttime = _end - Core.TimerEng.curTime;
        TimerTask task = new TimerTask(Core.TimerEng.curTime, _end, 1);

        task.taskId  = TaskID.ActivityLimitTime;
        task.onEvent = TimerEvent;
        task.DispatchToRealHandler();
        InvokeRepeating("SetTimerText", 0f, 1f);
    }
Ejemplo n.º 12
0
    void HttpComingBack(BaseHttpRequest request, BaseResponse response)
    {
        if (response != null && response.status != BaseResponse.ERROR)
        {
            MovableNoticeResponse movResp = response as MovableNoticeResponse;

            if (movResp != null && movResp.data != null)
            {
                cached.Clear();
                maxValidate = 0;

                foreach (NoticeDataConfig config in movResp.data)
                {
                    if (config != null)
                    {
                        cached.Add(config);
                        maxValidate++;
                    }
                }

                if (maxValidate > 0)
                {
                    //存储到本地
                    saveTofile();
                }
                else
                {
                    //从本地读取
                    loadFromConfig();
                }

                if (onFinished != null)
                {
                    onFinished();
                }
            }
            else
            {
                ConsoleEx.DebugLog("Get Movable notice : " + Core.Data.stringManager.getString(response.errorCode));
            }

            //开始计时,5分钟后继续更新
            Core.Data.temper.setNoticeReady(true);
            long      curSysTime    = Core.TimerEng.curTime;
            TimerTask getNoticeTask = new TimerTask(curSysTime, curSysTime + FIVE_MINITE, 1, ThreadType.BackGround);
            getNoticeTask.onEventEnd = Core.Data.temper.onNetworkCallBack;
            getNoticeTask.DispatchToRealHandler();
        }
    }
Ejemplo n.º 13
0
    public void recordDayChanged(long sysTime)
    {
        //long LeftOfDayEnd = DateHelper.getLeftTimingAtDayChanged(sysTime);

        long      now  = Core.TimerEng.curTime;
        TimerTask task = new TimerTask(now + 1, now + 10, 1, ThreadType.MainThread);

        //Debug.LogError("now="+now.ToString() +  "    "+(now + LeftOfDayEnd).ToString() );

        //System.Action<TimerTask > OnChange = OnDayChanged ;

        task.onEventBegin += OnDayChangedA;
        task.onEvent       = OnDayChanged;

        task.onEventEnd = OnDayChangedB;
        task.DispatchToRealHandler();
    }
Ejemplo n.º 14
0
        public MonitorClient() : base()
        {
            CharactorPool      = new WarServerCharactor();
            sync               = new IpcSyncClientMsg();
            validateSyncClient = false;

            stopwatch = Stopwatch.StartNew();

            ///
            /// 因为NetMq的缘故,所有的对Dictionary,只有NetMq线程写入, Timer线程只负责读
            ///
            readerWriterLock = new ReaderWriterLockSlim();

            task         = new TimerTask(TimerTask.RIGHTNOW, TimerTask.INFINITY, 1);
            task.onEvent = checkClientStatus;
            task.DispatchToRealHandler();
        }
Ejemplo n.º 15
0
    //第一次 执行
    protected void CalTimer()
    {
        if (player.RTData.isFirstData)
        {
            player.RTData.isFirstData = false;
            Core.TimerEng.deleteTask(TaskID.CalJingLi);
            long passedTime = Core.TimerEng.curTime - player.RTData.systemTime;

            long calTime = 0;

            long now = Core.TimerEng.curTime;

            //精力
            calTime = 0;

            if (passedTime < player.RTData.unixTimeForJingLiFull)
            {
                calTime = player.RTData.unixTimeForJingLiFull - passedTime;
            }
            else if (passedTime == player.RTData.unixTimeForJingLiFull)
            {
                calTime = player.RTData.unixTimeForJingLi;
            }
            else
            {
                //体力已经增加一点了。
                calTime = player.RTData.unixTimeForJingLi - (passedTime - player.RTData.unixTimeForJingLiFull);
                if (player.totalJingli > player.curJingLi)
                {
                    player.RTData.curJingLi += (int)((passedTime - player.RTData.unixTimeForJingLiFull) / player.RTData.unixTimeForJingLi + 1);
                }
            }

            if (player.totalJingli > player.curJingLi)
            {
//				ConsoleEx.DebugLog ("calTime = " + calTime,"yellow");
                TimerTask MonaTask = new TimerTask(now, now + calTime, 1, ThreadType.MainThread);
                MonaTask.taskId      = TaskID.CalJingLi;
                MonaTask.onEventEnd += JingLiCalEnd;
                MonaTask.onEvent     = JingliMinus;
                MonaTask.DispatchToRealHandler();
            }
        }
    }
Ejemplo n.º 16
0
    void testTimer1()
    {
        //--------

//		Core.TimerEng.OnLogin(1007);
        TimerTask task = new TimerTask(DateHelper.LocalDateTimeToUnixTimeStamp(System.DateTime.UtcNow) + 7, DateHelper.LocalDateTimeToUnixTimeStamp(System.DateTime.UtcNow) + 11, 1);

        //All this methods is running in the background
        task.onEventBegin += eventBegin;
        task.onEventEnd   += eventEnd;

        // equals to task.onEvent += frequent;
        task.onEvent += (TimerTask t) => {
            Debug.Log("Timer Engine : = on event frequent. => " + t.leftTime + " 22");
        };


        task.DispatchToRealHandler();
    }
Ejemplo n.º 17
0
    protected void AutoChecker()
    {
        if (player == null)
        {
            Debug.LogError("AutoChecker() player==null add by jc");
            return;
        }

        if (mCurJingLi != player.curJingLi)
        {
            if (lab_Energy != null)
            {
                lab_Energy.SafeText(player.curJingLi.ToString() + "/" + player.totalJingli.ToString());
            }
            mCurJingLi = player.curJingLi;
        }

        //精力满的情况下
        if (player.curJingLi >= player.totalJingli)
        {
            Core.TimerEng.deleteTask(TaskID.CalJingLi);
        }
        else
        {
//			Debug.Log (" checkkkkkkkk  == " + Core.TimerEng.checkExist (TaskID.CalJingLi)+ "   ==    energy   -===  "   + energyTime.Seconds);
            if (!Core.TimerEng.checkExist(TaskID.CalJingLi))
            {
                long nNow = Core.TimerEng.curTime;
                Core.TimerEng.deleteTask(TaskID.CalJingLi);

                ConsoleEx.DebugLog("player.RTData.unixTimeForJingLi = " + player.RTData.unixTimeForJingLi);
                TimerTask MonaTask = new TimerTask(nNow, nNow + player.RTData.unixTimeForJingLi, 1, ThreadType.MainThread);
                MonaTask.taskId      = TaskID.CalJingLi;
                MonaTask.onEventEnd += this.JingLiCalEnd;
                MonaTask.onEvent    += this.JingliMinus;
                MonaTask.DispatchToRealHandler();
            }
        }
    }
Ejemplo n.º 18
0
    void testTimer()
    {
        //We must tell Timer the system unix time stamp, so right now we simulate it for test purpose.
        Core.TimerEng.OnLogin(DateHelper.LocalDateTimeToUnixTimeStamp(System.DateTime.UtcNow));

        //--------
        TimerTask task = new TimerTask(DateHelper.LocalDateTimeToUnixTimeStamp(System.DateTime.UtcNow), DateHelper.LocalDateTimeToUnixTimeStamp(System.DateTime.UtcNow) + 10, 1);

        //All this methods is running in the background
        task.onEventBegin += eventBegin;
        task.onEventEnd   += eventEnd;

        // equals to task.onEvent += frequent;
        task.onEvent += (TimerTask t) => {
            Debug.Log("Timer Engine : = on event frequent. => " + t.leftTime + " 111");
        };


        task.DispatchToRealHandler();

        testTimer1();
    }
Ejemplo n.º 19
0
        /// <summary>
        /// ResponseSocket准备好了
        /// </summary>
        void ServerRepOk()
        {
            int condition = warInfo.RequiredClientCount;

            ServerInfo info = Server.cached.curServer;

            long      now   = Core.TimerEng.curTime;
            TimerTask timer = new TimerTask(now + 2, TimerTask.INFINITY, 1);

            timer.onEvent = ((obj) => {
                if (Server.monitor.ReadyClientCount >= condition)
                {
                    obj.Enabled = false;
                    Server.monitor.CharactorPool.EnterWarScene();
                    Server.proxyCli.EnterWar(info, warInfo.Map);
                }
                else
                {
                    Server.proxyCli.ServerReady(info);
                }
            });
            timer.DispatchToRealHandler();
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 测试连接-断线-连接-断线-
        /// </summary>
        void ReconnectTest()
        {
            long      now   = Core.TimerEng.curTime;
            TimerTask timer = new TimerTask(now + 2, now + 10, 1);

            ServerInfo info = Server.cached.curServer;

            timer.onEvent = ((obj) => {
                Server.proxyCli.CtorEnv(warInfo.Map);
                Server.proxyCli.ServerReady(info);
            });

            timer.onEventEnd = (
                (obj) => {
                try {
                    if (Server != null)
                    {
                        Server.Dispose();
                    }
                    if (Client != null)
                    {
                        Client.Quit();
                    }
                } catch (System.Exception ex) {
                    ConsoleEx.DebugLog(ex.ToString());
                }

                AsyncTask.QueueOnMainThread(
                    () => {
                    Invoke("WarBegin", 1f);
                }
                    );
            }
                );

            timer.DispatchToRealHandler();
        }
Ejemplo n.º 21
0
    private void startTimer()
    {
        ///
        /// --- 如果是自动战斗,则不让时间流逝的变慢 ----
        ///
        AccountConfigManager accMgr = Core.Data.AccountMgr;
        bool makeTimeQucik          = accMgr.UserConfig.AutoBat == (short)1;

        if (makeTimeQucik == false)
        {
            TimeMgr.getInstance().setExtLine(BanTimeCenter.Scale_Down_Slow);
        }

        long      now  = Core.TimerEng.curTime;
        long      end  = now + 8;
        TimerTask task = new TimerTask(now, end, 1, ThreadType.MainThread);

        if (makeTimeQucik == false)
        {
            task.onEvent = QueueNormal;
        }
        task.onEventEnd = QueueEnd;
        task.DispatchToRealHandler();
    }
Ejemplo n.º 22
0
    protected override void OnEvent(EventTypeDefine p_e, object p_param)
    {
        ConsoleEx.DebugLog("EventType = " + p_e.ToString(), ConsoleEx.YELLOW);
        BanBattleManager battleMgr = BanBattleManager.Instance;
        BanSideInfo      attside   = battleMgr != null ? battleMgr.attackSideInfo : null;
        GuideManager     guideMgr  = Core.Data.guideManger;

#if NewGuide
        NewUIGuide guideUI = NewUIGuide.Instance;
#else
        UIGuide guideUI = UIGuide.Instance;
#endif
        TemporyData temp = Core.Data.temper;

        switch (p_e)
        {
        //打开第一个宝箱
        case EventTypeDefine.OpenTreasureChest:
            if (Open != null)
            {
                GuideData data = p_param as GuideData;
                if (data != null)
                {
                    Open(data.MultiIndex);
                    Core.Data.guideManger.DelayAutoRun(1.5f);
                }
            }
            break;

        //退出战斗
        case EventTypeDefine.ExitFightingScene:
            if (Exit != null)
            {
                AsyncTask.QueueOnMainThread(
                    () => {
                    Exit();
                    #region Add by jc 如果没有升级并且已经是最后一步引导了
                    if (Core.Data.playerManager.Lv <= temp.mPreLevel && temp.mPreLevel > 0 && !guideMgr.isLastOfCurGuide)
                    {
                        guideUI.HideGuide();
                        Core.Data.guideManger.DelayAutoRun(2.5f);
                    }
                    #endregion
                }
                    , 0.5f
                    );
            }
            break;

        case EventTypeDefine.Click_XiaoWuKongVBiKe:                       //显示双方队伍
        case EventTypeDefine.Click_WuKong2_Anger:                         //孙悟空2继承小悟空20怒气
        case EventTypeDefine.Click_BILUSI_V_WuKong3:                      //比鲁斯
        case EventTypeDefine.Click_WuKong3_NO_ANGER:                      //没有怒气值不能释放主动技能
        case EventTypeDefine.Click_WuKong3_Vs_BiLu:                       //孙悟空3对决比鲁斯
            guideUI.HideGuide();
            Time.timeScale = 1.0f;
            break;

            #region 怒气技的起始阶段
        case EventTypeDefine.Click_XiaoWuKong_OS_4: {
            Time.timeScale = 1.0f;
            SkillData sd = Core.Data.skillManager.getSkillDataConfig(25037);
            attside.PlayerAngryWord.FeatureWarShow(1, sd.name, () => { Time.timeScale = 0f; });
        }
        break;

        case EventTypeDefine.Click_WuKong2_OS_4: {
            Time.timeScale = 1.0f;
            SkillData sd = Core.Data.skillManager.getSkillDataConfig(25008);
            attside.PlayerAngryWord.FeatureWarShow(1, sd.name, () => { Time.timeScale = 0f; });
        }
        break;

        case EventTypeDefine.Click_WuKong3_OS_4: {
            Time.timeScale = 1.0f;
            SkillData sd = Core.Data.skillManager.getSkillDataConfig(25058);
            attside.PlayerAngryWord.FeatureWarShow(1, sd.name, () => { Time.timeScale = 0f; });
        }
        break;
            #endregion

        case EventTypeDefine.Click_XiaoWuKong_OS_4_2:
            Time.timeScale = 1.0f;
            attside.PlayerAngryWord.FeatureWarShow(2, string.Empty, () => { Time.timeScale = 0f; });
            break;

        case EventTypeDefine.Click_XiaoWuKong_OS_4_3:
            Time.timeScale = 1.0f;
            attside.PlayerAngryWord.FeatureWarShow(3, string.Empty, () => { Time.timeScale = 0f; });
            break;

        case EventTypeDefine.Click_XiaoWuKong_OS_4_4:
            Time.timeScale = 1.0f;
            guideUI.HideGuide();
            AsyncTask.RemoveAllDelayedWork();
            attside.PlayerAngryWord.FeatureWarShow(4, string.Empty, () => { battleMgr.AngryUI(false, null, -1); });

            long      now  = Core.TimerEng.curTime;
            TimerTask task = new TimerTask(now, now + 2, 1, ThreadType.MainThread);
            task.onEventEnd = (t) => {
                Time.timeScale = 1.0f;
                AsyncTask.RemoveAllDelayedWork();
                battleMgr.AngryUI(false, null, -1);
            };
            task.DispatchToRealHandler();
            break;

        case EventTypeDefine.Click_XiaoWuKong_Lv1: {
            Time.timeScale = 1.0f;
            guideUI.HideGuide();
            AsyncTask.RemoveAllDelayedWork();

            attside.PlayerAngryWord.FeatureWarShow(1, string.Empty, () => { battleMgr.AngryUI(false, null, -1); });
            attside.angrySlot.curAP = 0;
            battleMgr.Root.Camera1.eventReceiverMask = LayerMask.NameToLayer("Everything");
        }
        break;

        //调用武者强化
        case EventTypeDefine.Click_JumpToStrengthening:
            if (Exit != null)
            {
                UIGuide.Instance.HideGuide();

                Core.Data.guideManger.DelayAutoRun(2f);
                // --- 武者强化 ---
                FinalTrialMgr.GetInstance().jumpTo = TrialEnum.None;
                BattleToUIInfo.From = RUIType.EMViewState.S_Team_NoSelect;
                Exit();
            }

            break;
        }
    }