Interface IAspectWrite<V extends IValue,T extends IValueType<V>>

All Superinterfaces:
IAspect<V,T>
All Known Implementing Classes:
AspectWriteBase

public interface IAspectWrite<V extends IValue,T extends IValueType<V>> extends IAspect<V,T>
An element that can be used inside parts to access a specific aspect of something to write.
  • Method Details

    • write

      <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>> void write(P partType, PartTarget target, S state, IVariable<V> variable) throws EvaluationException
      Write the given variable value for the given part.
      Type Parameters:
      P - The part type type.
      S - The part state.
      Parameters:
      partType - The part type.
      target - The position that is targeted by the given part.
      state - The current state of the given part.
      variable - The variable to write.
      Throws:
      EvaluationException - If something went wrong while evaluating the variable to write.
    • onActivate

      <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>> void onActivate(P partType, PartTarget target, S state)
      When this aspect has become active.
      Type Parameters:
      P - The part type type.
      S - The part state.
      Parameters:
      partType - The part type.
      target - The position that is targeted by the given part.
      state - The current state of the given part.
    • onDeactivate

      <P extends IPartTypeWriter<P, S>, S extends IPartStateWriter<P>> void onDeactivate(P partType, PartTarget target, S state)
      When this aspect has become inactive.
      Type Parameters:
      P - The part type type.
      S - The part state.
      Parameters:
      partType - The part type.
      target - The position that is targeted by the given part.
      state - The current state of the given part.