public void SetMonsterFsmState( eMonsterFsmStateType _type) { SetMonsterFsmState( _type, null); }
public void SetMonsterFsmState( eMonsterFsmStateType _type, AsIMessage _msg) { if( m_CurrentFsmState != null) { if( m_CurrentFsmState.FsmStateType == _type) { Debug.LogWarning( "AsMonsterFsm::SetMonsterFsmState: same state = " + _type); return; } m_CurrentFsmState.Exit(); ReleaseElements(); m_OldFsmState = m_CurrentFsmState; } if( m_dicFsmState.ContainsKey( _type) == true) { state_ = _type; m_CurrentFsmState = m_dicFsmState[_type]; m_CurrentFsmState.Enter( _msg); } }