Class DelegateAction

java.lang.Object
arc.scene.Action
arc.scene.actions.DelegateAction
All Implemented Interfaces:
Pool.Poolable
Direct Known Subclasses:
AfterAction, DelayAction, RepeatAction, TimeScaleAction

public abstract class DelegateAction extends Action
Base class for an action that wraps another action.
  • Field Details

    • action

      protected Action action
  • Constructor Details

    • DelegateAction

      public DelegateAction()
  • Method Details

    • getAction

      public Action getAction()
    • setAction

      public void setAction(Action action)
      Sets the wrapped action.
    • delegate

      protected abstract boolean delegate(float delta)
    • act

      public final boolean act(float delta)
      Description copied from class: Action
      Updates the action based on time. Typically this is called each frame by Element.act(float).
      Specified by:
      act in class Action
      Parameters:
      delta - Time in seconds since the last frame.
      Returns:
      true if the action is done. This method may continue to be called after the action is done.
    • restart

      public void restart()
      Description copied from class: Action
      Sets the state of the action so it can be run again.
      Overrides:
      restart in class Action
    • reset

      public void reset()
      Description copied from class: Action
      Resets the optional state of this action to as if it were newly created, allowing the action to be pooled and reused. State required to be set for every usage of this action or computed during the action does not need to be reset.

      The default implementation calls Action.restart().

      If a subclass has optional state, it must override this method, call super, and reset the optional state.

      Specified by:
      reset in interface Pool.Poolable
      Overrides:
      reset in class Action
    • setActor

      public void setActor(Element actor)
      Description copied from class: Action
      Sets the actor this action is attached to. This also sets the target actor if it is null. This method is called automatically when an action is added to an actor. This method is also called with null when an action is removed from an actor.

      When set to null, if the action has a pool then the action is returned to the pool (which calls Action.reset()) and the pool is set to null. If the action does not have a pool, Action.reset() is not called.

      This method is not typically a good place for an action subclass to query the actor's state because the action may not be executed for some time, eg it may be delayed. The actor's state is best queried in the first call to Action.act(float). For a TemporalAction, use TemporalAction#begin().

      Overrides:
      setActor in class Action
    • setTarget

      public void setTarget(Element target)
      Description copied from class: Action
      Sets the actor this action will manipulate. If no target actor is set, Action.setActor(Element) will set the target actor when the action is added to an actor.
      Overrides:
      setTarget in class Action
    • toString

      public String toString()
      Overrides:
      toString in class Action