Exemplo n.º 1
0
	public void SetMonsterFsmState( eMonsterFsmStateType _type)
	{
		SetMonsterFsmState( _type, null);
	}
Exemplo n.º 2
0
	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);
		}
	}