public override IEnumerator OnStart_State(TestStateBase pPrevState, EStateStartType eStateStartType) { p_bIsLoop = true; yield return(base.OnStart_State(pPrevState, eStateStartType)); p_pFSMOwner.DoEnqueueState(EState.State_Loop_1, EStateInsertType.Waiting); }
virtual public IEnumerator OnStart_State(TestStateBase pPrevState, EStateStartType eStateStartType) { int iWaitFrame = 0; while (iWaitFrame++ < 3) { Debug.Log(IDictionaryItem_GetKey() + " eStateStartType : " + eStateStartType); yield return(null); } }
public IEnumerator EventStart(CStateContainer pPrevState, EStateStartType eStateStartType, System.Action <CLASS_STATE> OnFinishState) { p_bIsWait = true; if (pPrevState != null) { yield return(p_pStateInstance.OnStart_State(pPrevState.p_pStateInstance, eStateStartType)); } else { yield return(p_pStateInstance.OnStart_State(null, eStateStartType)); } OnFinishState(p_pStateInstance); }
public IEnumerator OnStart_State(CLASS_STATE pPrevState, EStateStartType eStateStartType) { p_pExecuter_OnTransitionState.DoNotify_OnEnable(); p_pExecuter_OnEnable.DoNotify_OnEnable(); if (_pCoroutine_ExecuteContainer != null) { _pScriptOwner.StopCoroutine(_pCoroutine_ExecuteContainer); } _pCoroutine_ExecuteContainer = _pScriptOwner.StartCoroutine(OnStart_State()); //if(pPrevState != null) // Debug.Log(IDictionaryItem_GetKey().ToString() + " " + nameof(OnStart_State) + " pPrevState : " + pPrevState.IDictionaryItem_GetKey().ToString() + " eStateStartType : " + eStateStartType); //else // Debug.Log(IDictionaryItem_GetKey().ToString() + " " + nameof(OnStart_State) + " pPrevState : Null / eStateStartType : " + eStateStartType); yield return(OnStart_State_ExecuteContainer(pPrevState, eStateStartType)); }
public override IEnumerator OnStart_State_ExecuteContainer(TestStateBase pPrevState, EStateStartType eStateStartType) { yield break; }
protected void SetStart_State(CStateContainer pStartState, CStateContainer pPrevState, EStateStartType eStateStartType) { if (_pOwner.gameObject.activeSelf == false) { return; } if (_pCoroutine != null) { _pOwner.StopCoroutine(_pCoroutine); } _pCoroutine = _pOwner.StartCoroutine(pStartState.EventStart(pPrevState, eStateStartType, Finish_State)); }
abstract public IEnumerator OnStart_State_ExecuteContainer(CLASS_STATE pPrevState, EStateStartType eStateStartType);