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)); }
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)); }