public override void PauseTimer(bool ispause = true) { _IsPause = ispause; if (ispause) { if (state == EventState.ES_Normal) { base.PauseTimer(ispause); _pauseTime = ScriptsTime.GetTimes(); TurnTimer(TimerTurnType.TT_Pause); } } else { if (state == EventState.ES_Pause) { float curTime = ScriptsTime.GetTimes(); float pt = curTime - _pauseTime; _startTime += pt; nextTime += pt; IsStatic = (nextTime - curTime) >= 5000; base.PauseTimer(ispause); TurnTimer(TimerTurnType.TT_UnPause); } } }
public TEvent() { handle = ++MaxHandle; stBody = FEngineManager.Engine; _startTime = ScriptsTime.GetTimes(); state = EventState.ES_Normal; }
internal void openInit(OpenType type, params object[] o) { mIsRealPlane = true; mInitOver = false; mInitDelayAction = null; mMainPlane = this.gameObject.GetComponent <FCUniversalPanel>(); mIsClose = false; mArgs = o; if (type != OpenType.OT_Normal) { openPool(type, o); } else { ScriptsTime.BeginTag("_plane"); Init(o); ScriptsTime._ShowTimeTag("_plane", this.GetType().Name + "打开消耗"); } mInitOver = true; if (mInitDelayAction != null) { mInitDelayAction(); } }
public override void ResetData() { frequency = 0; _pauseTime = 0; base.ResetData(); if (_IsPause && state == EventState.ES_Normal) { _pauseTime = ScriptsTime.GetTimes(); state = EventState.ES_Pause; } }
IEnumerator PlayFun(GameProgress gp, BaseLoad bl) { ScriptsTime.BeginTag("_loadScene"); mLoadPercent.GoOn(0, ""); if (bl != null) { yield return(bl.PlayStart()); } else { yield return(0); } FEngineManager.CloseWindos(); bool isPack = FEConfigure.mIsNoPack; if (mIsFirst) { mIsFirst = false; if (isPack) { mLoadPercent.GoOn(0.3f); BundleManager._isLoadComplete = true; } else { ScriptsTime.BeginTag("_LoadAssetBundles"); //进场景第一次加载资源初始化 mLoadPercent.SetKD("Detection_Resources"); mLoadPercent.Reset(""); yield return(BundleManager.instance.CopyStreamingAsset(mLoadPercent.CreateBranch(1), FEngineManager.GetFBEngine().GetBundleAskCall())); mLoadPercent.SetKD("Loading_Resources"); mLoadPercent.Reset(""); yield return(BundleManager.instance.LoadAssetBundles("", mLoadPercent.CreateBranch(0.95f))); ScriptsTime._ShowTimeTag("_LoadAssetBundles", "加载资源消耗"); } ScriptsTime.BeginTag("_LoadManager"); yield return(FEngineManager.GetFBEngine().LoadManager()); ScriptsTime._ShowTimeTag("_LoadManager", "加载单件管理器"); } string relaySceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name; //逻辑处理 EventManager.instance.Send(LoadSceneManager.LoadEvent, LoadSceneManager.LoadType.LT_BeginMask, mCurLoadMode); if (bl != null) { yield return(bl.PlayResoureOver()); } ScriptsTime.BeginTag("_UnLoadSysBundles"); mLoadPercent.SetKD("LoadingScene"); mLoadPercent.GoOn(0.7f); LoadSceneManager.instance.LoadDirectScene(GameProgress.GP_NONE); if (!isPack) { FEngineManager.GetFBEngine().PreLoadObject(relaySceneName, false); } //开启异步加载销毁 // lua gc FEngineManager.GetFBEngine().LoadFrontScene(gp); ScriptsTime._ShowTimeTag("_UnLoadSysBundles", "卸载当前场景消耗"); ScriptsTime.BeginTag("_LoadSceneAsy"); yield return(LoadSceneManager.instance.LoadSceneAsy(gp)); ScriptsTime._ShowTimeTag("_LoadSceneAsy", "切换场景消耗"); mLoadPercent.SetKD("Preloading"); mLoadPercent.GoOn(0.9f); string newSceneName = LoadSceneManager.instance.GetSceneName(gp); if (!isPack) { Timer_Mix mix = FEngineManager.GetFBEngine().PreLoadObject(newSceneName, true); if (mix != null) { ScriptsTime.BeginTag("_PreLoadObject"); if (!mix.IsOver) { var pre = mLoadPercent.CreateBranch(1, false); pre.SetTimece(mix.MaxNum); int lastNum = -1; while (!mix.IsOver) { if (lastNum != mix.CurNum) { pre.GoOn(mix.CurNum.ToString() + "/" + mix.MaxNum.ToString()); lastNum = mix.CurNum; } yield return(0); } } ScriptsTime._ShowTimeTag("_PreLoadObject", "预加载消耗"); } } mLoadPercent.Over(); if (mLastLoadMode != null) { mLastLoadMode.PlayLoad(LoadSceneManager.LoadType.Lt_Back); } mCurLoadMode.PlayLoad(LoadSceneManager.LoadType.Lt_EnterMask); EventManager.instance.Send(LoadSceneManager.LoadEvent, LoadSceneManager.LoadType.Lt_EnterMask, mCurLoadMode); if (bl != null) { yield return(bl.PlayEnd()); FEngineManager.DeletObject(bl); } else { yield return(0); } yield return(0); CloseMySelf(true); mCurLoadMode.PlayLoad(LoadSceneManager.LoadType.Lt_Enter); EventManager.instance.Send(LoadSceneManager.LoadEvent, LoadSceneManager.LoadType.Lt_Enter, mCurLoadMode); ScriptsTime._ShowTimeTag("_loadScene", "加载场景" + newSceneName + "总时间"); }
private static int DEGREE = 10;//精度DEGREE毫秒 public TimerMachine() { mTimerRunTime = ScriptsTime.GetTimes(); mStartTime = mTimerRunTime; }
private float _pauseTime = 0; //暂停时间 internal TimerEvent SetNextTime(float waitTime) { nextTime = ScriptsTime.GetTimes() + waitTime * 1000; IsStatic = false; return(this); }
public virtual void ResetData() { _startTime = ScriptsTime.GetTimes(); state = EventState.ES_Normal; }
public void Update() { mTempDeltaTime = ScriptsTime.GetTimes(); mDeltaTime = (mTempDeltaTime - mTimerRunTime) / 1000.0f; mTimerRunTime = mTempDeltaTime; //定时器转换 if (mTurnEvents.Count != 0) { for (int i = 0; i < mTurnEvents.Count; i++) { var timer = mTurnEvents[i]; if (timer.mTurnType == TimerEvent.TimerTurnType.TT_DynamicTurn) { PustTimer(timer); } else { switch (timer.mTurnType) { case TimerEvent.TimerTurnType.TT_Pause: PustTimer(timer); break; case TimerEvent.TimerTurnType.TT_UnPause: PustTimer(timer); break; case TimerEvent.TimerTurnType.TT_Reset: timer.ResetData(); PustTimer(timer); break; case TimerEvent.TimerTurnType.TT_Delete: ForceFree(timer, true); break; } } } mTurnEvents.Clear(); } //动态定时器 if (mDynamicTimerEvents.Count != 0) { for (int i = mDynamicTimerEvents.Count - 1; i >= 0; i--) { var timer = mDynamicTimerEvents[i]; TimerState result = _PlayTimer(timer); if (result == TimerState.T_Carry) { if (timer.IsStatic) { PushTurnEvent(TimerEvent.TimerTurnType.TT_DynamicTurn, timer); } } else if (result == TimerState.T_Turn) { ForceFree(timer, false); } } } int tick = (int)((mTempDeltaTime - mStartTime) / DEGREE);//DEGREE毫秒的精度 mLastTick = tick; }