// protected virtual void OnDrawGizmosSelected() // { // if (actionQueue != null) // Handles.Label(transform.position + Vector3.up, actionQueue.ToString()); // else // Handles.Label(transform.position + Vector3.up, "No Actions in the Queue"); // } public virtual void ForceAction(AbstractAction _action) { Debug.Log(gameObject.name + ": Force Action: " + _action.Name); // store current action to front currentAction.PausePerform(); actionQueue.EnqueueFront(currentAction); // take the forced action as current action SetCurrentAction(_action); }