Class SystemBuilder<S extends SystemBase,B extends SystemBuilder<S,B>>

java.lang.Object
dev.prozilla.pine.core.system.SystemBuilder<S,B>
Direct Known Subclasses:
InitSystemBuilder, InputSystemBuilder, RenderSystemBuilder, UpdateSystemBuilder

public abstract class SystemBuilder<S extends SystemBase,B extends SystemBuilder<S,B>> extends Object
  • Field Details

    • componentTypes

      protected final Class<? extends Component>[] componentTypes
    • entityTag

      protected String entityTag
  • Constructor Details

    • SystemBuilder

      public SystemBuilder(Class<? extends Component>[] componentTypes)
  • Method Details

    • setRequiredTag

      public B setRequiredTag(String entityTag)
      Restricts this system's query to entities with a given tag.
      See Also:
    • self

      protected abstract B self()
      Ensures subclasses return the correct type in method chains.
    • build

      public abstract S build()
      Creates a new system.
    • finishBuild

      protected S finishBuild(S system)