static IEnumerator TaskChangedCoroutine() { yield return(new SafeCoroutine.SafeWaitForSeconds(mTaskChangedCoroutineDelayTime)); ClientEventMgr.Instance.FireEvent((int)ClientEvent.TASK_CHANGED, null); mTaskChangedCoroutine = null; }
public void StopLocalPlayerWalkCoroutine() { if (mLocalPlayerWalkCoroutine != null) { mLocalPlayerWalkCoroutine.Stop(); mLocalPlayerWalkCoroutine = null; } }
//-------------------------------------------------------- // 网络消息 //-------------------------------------------------------- //-------------------------------------------------------- // 外部调用 //-------------------------------------------------------- public void Reset() { mNpcs.Clear(); mEscortNpcs.Clear(); mCreatings.Clear(); if (mRefreshTaskNpcCoroutine != null) { mRefreshTaskNpcCoroutine.Stop(); mRefreshTaskNpcCoroutine = null; } }
public override void DestroyBehaviour() { if (mUpdateTeamPosCd != null) { mUpdateTeamPosCd.Destroy(); mUpdateTeamPosCd = null; } if (mPlayOpenSysRoutine != null) { mPlayOpenSysRoutine.Stop(); mPlayOpenSysRoutine = null; } mNotEnterTipsTrigger.onPointerDown -= LostNotEnterTips; ClientEventMgr.Instance.UnsubscribeClientEvent((int)ClientEvent.CE_TEAM_INFO_CHANGED, TeamChange); base.DestroyBehaviour(); }
public void CreateAllNpcs() { mEscortNpcIndex = 0; mNpcs.Clear(); mEscortNpcs.Clear(); mCreatings.Clear(); mDoNotGuideNpcIds.Clear(); BuildNpcCache(); // 等到收到首次任务信息之后才刷新任务npc if (mRefreshTaskNpcCoroutine != null) { mRefreshTaskNpcCoroutine.Stop(); mRefreshTaskNpcCoroutine = null; } mRefreshTaskNpcCoroutine = SafeCoroutine.CoroutineManager.StartCoroutine(RefreshTaskNpc()); }
public override void EnableBehaviour(bool isEnable) { m_lastUnlockMapId = 0; mOpenRoot.SetActive(false); mEffectUnLock.SetActive(false); base.EnableBehaviour(isEnable); if (isEnable) { if (mUpdateTeamPosCd != null) { mUpdateTeamPosCd.Destroy(); mUpdateTeamPosCd = null; } mNotEnterTipsTrigger.gameObject.SetActive(false); mNotEnterTips.SetActive(false); UpdatePlayerPos(); TeamChange(null); //SetMapIconState(true); if (mPlayOpenSysRoutine != null) { mPlayOpenSysRoutine.Stop(); mPlayOpenSysRoutine = null; } //CheckOpenInstance(); } else { if (mPlayOpenSysRoutine != null) { mPlayOpenSysRoutine.Stop(); mPlayOpenSysRoutine = null; } } }
/// <summary> /// 任务更新事件协程,避免短时间内多次刷新任务,造成卡顿 /// </summary> static void StartTaskChangedCoroutine() { if (mTaskChangedCoroutine != null) { mTaskChangedCoroutine.Stop(); mTaskChangedCoroutine = null; } if (mTaskChangedCoroutineDelayTime < 0f) { mTaskChangedCoroutineDelayTime = GameConstHelper.GetFloat("GAME_TASK_CHANGED_EVENT_DELAY"); } // 如果配置成0,则立刻刷新 if (mTaskChangedCoroutineDelayTime == 0f) { ClientEventMgr.Instance.FireEvent((int)ClientEvent.TASK_CHANGED, null); } else { mTaskChangedCoroutine = SafeCoroutine.CoroutineManager.StartCoroutine(TaskChangedCoroutine()); } }
/// <summary> /// 响应点击地面的消息 /// </summary> /// <param name="ent"></param> void OnClickCollision(CEventBaseArgs ent) { Actor local_player = Game.Instance.GetLocalPlayer(); if (local_player == null) { return; } if (GameInput.Instance.GetEnableInput() == false || UIInputEvent.TouchedUI()) /* || InstanceManager.Instance.IsAutoFighting == true*/ { return; } Vector3 hitPos = (Vector3)ent.arg; XNavMeshHit nesrestHit; if (XNavMesh.SamplePosition(hitPos, out nesrestHit, 5.0f, LevelManager.GetInstance().AreaExclude)) { hitPos = nesrestHit.position; } StopLocalPlayerWalkCoroutine(); mLocalPlayerWalkCoroutine = SafeCoroutine.CoroutineManager.StartCoroutine(LocalPlayerWalkCoroutine(hitPos)); if (m_ArrowEffectTemp == null) { MainGame.HeartBehavior.StartCoroutine(LoadEffect(m_ClickEffectPath, hitPos)); } //EffectManager.GetInstance().GetEffectEmitter(effect_path).CreateInstance(x => OnEffectResLoad(x, )); else { OnEffectResLoad(m_ArrowEffectTemp, hitPos); } }