/// <summary> /// Queues up a state to be transitioned to after the current Update. /// </summary> /// <param name="state"></param> // public void ChangeState(int state, params object[] parameters) public void ChangeState(int state, DataPackageBase data) { Log.Make("Queuing change from " + stateID + " to " + state); DestinationState = state; // DestinationStateParameters = parameters; DestinationStateDataPackage = data; }
public override void OnEnter(DataPackageBase data) { if (myTransform == null) { myTransform = FSM.Actor.transform; } if (myRigidbody == null) { myRigidbody = FSM.Actor.GetComponent <Rigidbody>(); } }
public override void OnEnter(DataPackageBase data) { DataPackage package = data as DataPackage; counter = 0; if (myRigidbody == null) { myRigidbody = FSM.Actor.GetComponent <Rigidbody>(); } AttackType = package.InputType; }
/// <summary> /// Process any state changes that were made during the Update function. /// </summary> protected virtual void ProcessStateChange() { if (DestinationState != null) { try { FSM.ChangeState((int)DestinationState, DestinationStateDataPackage); } catch (Exception ex) { Debug.LogError("Error in FSM.ChangeState: " + ex.ToString()); } DestinationState = null; DestinationStateDataPackage = null; } }
//public virtual void OnEnter(object[] parameters) { } public virtual void OnEnter(DataPackageBase data) { }