public void ChangeState(NFAnimaStateType eState, int index, NFStateData data = null) { if (mCurrentState == eState) { return; } if (mCurrentState != NFAnimaStateType.NONE && mStateDictionary.ContainsKey(mCurrentState)) { mStateDictionary[mCurrentState].Exit(this.gameObject); } if (mStateDictionary.ContainsKey(eState)) { mLastState = mCurrentState; mCurrentState = eState; mStateDictionary[mCurrentState].xStateData = data; mStateDictionary[mCurrentState].Enter(this.gameObject, index); } else { Debug.LogError("ChangeState to " + mCurrentState + " from " + mLastState); } }
public virtual void Enter(GameObject gameObject, NFStateData data) { /* * xStateData = data; * mbEnterData = true; * * Enter (gameObject); */ }
public void InputStateData(NFAnimaStateType eNewState, NFAnimaStateType eLastState, float fSpeed, int nTime, Vector3 vNowPos, Vector3 vTargetPos, Vector3 vMoveDirection) { if (IsMainRole()) { return; } //Debug.Log ("In SyncData: " + id.ToString() + eNewState.ToString() + " TargetPos: " + vTargetPos.x + "," + vTargetPos.y+ "," + vTargetPos.z ); NFStateData data = new NFStateData(); data.vTargetPos = vTargetPos; data.fSpeed = fSpeed; data.xMoveDirection = vMoveDirection; }