Class ActionSpawn

All Implemented Interfaces:
Action, Deferrable, RoleStateChange, IAnnotatedComponent, IComponentExecutionControl

public class ActionSpawn extends ActionBase implements Deferrable
  • Constructor Details

  • Method Details

    • canExecute

      public boolean canExecute(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nullable InfoProvider sensorInfo, double dt, @Nonnull Store<EntityStore> store)
      Description copied from interface: Action
      Test if an action can be executed
      Specified by:
      canExecute in interface Action
      Overrides:
      canExecute in class ActionBase
      Parameters:
      ref - The entity ref
      executionSupport - The execution support
      sensorInfo - SensorInfo with PositionProvider, PathProvider, etc if required
      dt - The interval in seconds for this calculation
      store - The component store
      Returns:
      true if action can be executed else false to skip execution
    • execute

      public boolean execute(@Nonnull Ref<EntityStore> ref, @Nonnull ExecutionSupport executionSupport, @Nonnull InfoProvider sensorInfo, double dt, @Nonnull Store<EntityStore> store)
      Description copied from interface: Action
      Execute action
      Specified by:
      execute in interface Action
      Overrides:
      execute in class ActionBase
      Parameters:
      ref - The entity ref
      executionSupport - The execution support
      sensorInfo - SensorInfo with PositionProvider, PathProvider, etc if required
      dt - The interval in seconds for this calculation
      store - The component store
      Returns:
      true when executed action has finished else false when execution is not completed yet
    • isBusy

      public boolean isBusy()
      Description copied from interface: Action
      Whether this action has work in flight that spans ticks (e.g. a deferred/delayed continuation bound to this instance). Used by ForEach's per-target instance pool to avoid recycling a slot whose action is still mid-execution. Defaults to false.
      Specified by:
      isBusy in interface Action
    • isDeferred

      public boolean isDeferred()
      Specified by:
      isDeferred in interface Deferrable
      Returns:
      true when this instance is configured to defer (its delay is greater than zero).