java.lang.Object
com.assemblyrobot.simulator.core.clock.Clock

public class Clock
extends java.lang.Object
Centralised, monotonic simulator clock with support for attaching listeners to monitor clock advancements.
  • Constructor Summary

    Constructors
    Constructor Description
    Clock()  
  • Method Summary

    Modifier and Type Method Description
    void advanceTick​(long amount)
    Move the clock forward by a set number of ticks.
    void nextTick()
    Move the clock forward by one tick.
    void registerTickAdvanceListener​(@NonNull TickAdvanceListener listener)
    Register a tick advancement listener.
    void reset()
    Reset the clock tick to 0.

    Methods inherited from class java.lang.Object

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

    • Clock

      public Clock()
  • Method Details

    • nextTick

      public void nextTick()
      Move the clock forward by one tick.
    • advanceTick

      public void advanceTick​(long amount) throws java.lang.IllegalArgumentException
      Move the clock forward by a set number of ticks.
      Parameters:
      amount - Amount to move the clock forward by.
      Throws:
      java.lang.IllegalArgumentException - If the provided tick advancement is less than 0.
    • reset

      public void reset()
      Reset the clock tick to 0.
    • registerTickAdvanceListener

      public void registerTickAdvanceListener​(@NonNull @NonNull TickAdvanceListener listener)
      Register a tick advancement listener.
      Parameters:
      listener - TickAdvanceListener