Class SystemManager

java.lang.Object
dev.prozilla.pine.core.ECSManager
dev.prozilla.pine.core.system.SystemManager
All Implemented Interfaces:
Lifecycle

public class SystemManager extends ECSManager
  • Constructor Details

    • SystemManager

      public SystemManager(World world)
  • Method Details

    • initSystems

      public void initSystems(Collection<SystemBase> initialSystems)
    • init

      public void init(long window)
      Runs all systems that handle initialization.
      Parameters:
      window - Window
    • input

      public void input(float deltaTime)
      Runs all systems that handle input.
      Parameters:
      deltaTime - Delta time in seconds
    • update

      public void update(float deltaTime)
      Runs all systems that update component data.
      Parameters:
      deltaTime - Delta time in seconds
    • render

      public void render(Renderer renderer)
      Runs all systems that render components.
      Parameters:
      renderer - Reference to the renderer
    • destroy

      public void destroy()
      Destroys all systems.
    • register

      public void register(Entity entity)
      Registers an entity in all systems.
    • unregister

      public void unregister(Entity entity)
      Unregisters an entity from all systems.
    • activateEntity

      public void activateEntity(Entity entity)
    • addSystem

      public boolean addSystem(SystemBase system)
    • updateEntityDepth

      public void updateEntityDepth()
      Updates all systems that depend on entity depth.
    • isInitialized

      public boolean isInitialized()