Class PeriodicTask

java.lang.Object
de.pirckheimer_gymnasium.engine_pi.event.PeriodicTask
All Implemented Interfaces:
FrameUpdateListener

public final class PeriodicTask extends Object implements FrameUpdateListener
Eine periodische Aufgabe, die regelmäßig ausgeführt wird.
Author:
Niklas Keller, Josef Friedrich
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    boolean
    Gibt an, ob die Aufgabe pausiert ist.
  • Constructor Summary

    Constructors
    Constructor
    Description
    PeriodicTask(double intervalInSeconds, Runnable runnable)
    Erzeugt eine neue periodische Aufgabe ohne eine Referenz auf den übergeordneten Behälter, in dem diese periodische Aufgabe angemeldet wurde.
    PeriodicTask(double intervalInSeconds, Runnable runnable, FrameUpdateListenerContainer container)
    Erzeugt eine neue periodische Aufgabe, die eine Referenz auf den übergeordneten Behälter verlangt, in dem diese periodische Aufgabe angemeldet wurde.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Gibt das aktuelle Intervall der periodischen Aufgabe aus.
    void
    onFrameUpdate(double deltaSeconds)
    Diese Methode wird bei einem (angemeldeten) Objekt bei jeden Einzelbild erneut aufgerufen.
    void
    Pausiert die periodische Ausführung der Aufgabe.
    void
    Führt die periodische Aufgabe fort.
    void
    setInterval(double interval)
    Setzt das Intervall dieses periodischen Tasks neu.
    void
    Schaltet je nach Zustand zwischen den Zuständen pausiert und nicht pausiert hin und her.
    void
    Stoppt die periodische Ausführung.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • isPaused

      public boolean isPaused
      Gibt an, ob die Aufgabe pausiert ist.
  • Constructor Details

    • PeriodicTask

      public PeriodicTask(double intervalInSeconds, Runnable runnable, FrameUpdateListenerContainer container)
      Erzeugt eine neue periodische Aufgabe, die eine Referenz auf den übergeordneten Behälter verlangt, in dem diese periodische Aufgabe angemeldet wurde.
      Parameters:
      intervalInSeconds - Die Zeit zwischen den Ausführungen in Sekunden.
      runnable - Ein Objekt vom Typ Runnable, das eine ausführbare Methode enthält oder ein Lambda-Ausdruck.
      container - Eine Referenz auf den übergeordneten Behälter, in dem diese periodische Aufgabe angemeldet wurde. Diese Referenz wird dazu verwendet, um die periodische Ausführung abzumelden und dadurch zu stoppen.
    • PeriodicTask

      public PeriodicTask(double intervalInSeconds, Runnable runnable)
      Erzeugt eine neue periodische Aufgabe ohne eine Referenz auf den übergeordneten Behälter, in dem diese periodische Aufgabe angemeldet wurde.
      Parameters:
      intervalInSeconds - Die Zeit zwischen den Ausführungen in Sekunden.
      runnable - Ein Objekt vom Typ Runnable, das eine ausführbare Methode enthält oder ein Lambda-Ausdruck.
  • Method Details

    • setInterval

      @API public void setInterval(double interval)
      Setzt das Intervall dieses periodischen Tasks neu.
      Parameters:
      interval - Das neue Intervall. Zeit zwischen den Ausführungen in Sekunden. Muss größer als 0 sein.
    • getInterval

      @API public double getInterval()
      Gibt das aktuelle Intervall der periodischen Aufgabe aus.
      Returns:
      Das aktuelle Intervall. Die Zeit zwischen den Ausführungen in Sekunden.
    • pause

      public void pause()
      Pausiert die periodische Ausführung der Aufgabe.
    • resume

      public void resume()
      Führt die periodische Aufgabe fort.
    • toggle

      public void toggle()
      Schaltet je nach Zustand zwischen den Zuständen pausiert und nicht pausiert hin und her.
    • unregister

      public void unregister()
      Stoppt die periodische Ausführung. Sie kann dann nicht mehr neu gestartet werden.
    • onFrameUpdate

      @Internal public void onFrameUpdate(double deltaSeconds)
      Description copied from interface: FrameUpdateListener
      Diese Methode wird bei einem (angemeldeten) Objekt bei jeden Einzelbild erneut aufgerufen.
      Specified by:
      onFrameUpdate in interface FrameUpdateListener
      Parameters:
      deltaSeconds - Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.