Beispiel #1
0
	public void SetPlayerFsmState( ePlayerFsmStateType _type)
	{
		SetPlayerFsmState( _type, null);
	}
Beispiel #2
0
//	void OnDestroy()
//	{
//		AsUserInfo.Instance.dicBuff.Clear();
//	}
	#endregion

	#region - fsm -
	public void SetPlayerFsmState( ePlayerFsmStateType _type, AsIMessage _msg)
	{

//		Debug.LogWarning( "SetPlayerFsmState: same state = " + _type + "old: " + m_OldFsmState + "cur : " + m_CurState);


		if( m_CurrentFsmState != null)
		{
			if( m_CurrentFsmState.FsmStateType == _type)
			{
				Debug.LogWarning( "AsPlayerFsm::SetPlayerFsmState: same state = " + _type);
				return;
			}

			m_CurrentFsmState.Exit();
			m_OldFsmState = m_CurrentFsmState;
		}
//		else
//			Debug.LogWarning( "[AsBaseFsm]SetFsmState: current state");

		if( m_dicFsmState.ContainsKey( _type) == true)
		{
			m_CurState = _type;
			m_CurrentFsmState = m_dicFsmState[_type];
			m_CurrentFsmState.Enter( _msg);

//			switch( _type)
//			{
//			case ePlayerFsmStateType.IDLE:
//				StartCoroutine( "BeginIdleChecking");
//				break;
//			}
		}
		else
			Debug.LogError( "[AsBaseFsm]SetFsmState: not registered state : [" + _type + "]");
	}