/// <summary> /// Loop変更 / Stack Topを消して差し替える /// </summary> /// <param name="nextLoop"></param> public void Push(eLoop nextLoop, IBridgeLoopParam param = null) { Param parameter = new Param { Current = nextLoop, BridgeParam = param, Obj = null, }; stack.Push(parameter); execAsync(parameter).Forget(); }
/// <summary> /// テキスト明滅させて次のLoopへ遷移 /// </summary> /// <param name="txt"></param> /// <param name="loopId"></param> /// <returns></returns> async private UniTask transitStart(TextMeshProUGUI txt, eLoop loop, IBridgeLoopParam param = null) { isTransiting = true; await LibFunction.FlashUIAsync(txt, this.GetCancellationTokenOnDestroy()); await UniTask.Delay(200, cancellationToken : this.GetCancellationTokenOnDestroy()); loopExecuter.Push(loop, param); }
/// <summary> /// 終了時 /// </summary> /// <returns></returns> public async override UniTask Exit(eLoop nextLoop) { // 切断待機 Debug.Log("ExitLoop"); await disposeConnect(); }
/// <summary>後始末関数</summary> public abstract UniTask Exit(eLoop nextLoop);
/// <summary> /// 終了時 /// </summary> /// <returns></returns> async public override UniTask Exit(eLoop nextLoop) { // warning回避… await UniTask.Yield(PlayerLoopTiming.Update, this.GetCancellationTokenOnDestroy()); }
/// <summary> /// LoopのPrefabパス取得 /// </summary> /// <param name="id"></param> /// <returns></returns> public static ParamLoopResource GetParamLoopResource(eLoop loop) { return(PARAM_LOOP_RESOURCE_DICT[loop]); }