Object Clock

  • All Implemented Interfaces:

    
    public class Clock
    
                        

    A simple class for timing of animations and things. Literally a delta function.

    PolyUI internally uses nanoseconds as the time unit. There are a few reasons for this:

    • animations will be smoother as frames are usually shorter than 1ms, around 0.007ms. This means that the delta will be a decimal, which is not possible with longs, so some accuracy is lost with milliseconds.

    • Clock,getTime (the function we use to measure time) ignores changes to the system clock, so if the user changes their clock PolyUI won't crash or go very crazy because of a negative time.

    • 9,223,372,036,854,775,808 is max for a long, so the program can run for 2,562,047.78802 hours, or 106,751.991167 days, or 292.471 years. So we can use these.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      public abstract class Clock.Executor

      Create a new Executor.

      public final class Clock.FixedTimeExecutor

      Create a new FixedTimeExecutor.

    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Long peek() this function is rather wasteful and usage should be avoided.
      final Long getDelta()
      final static Long getTime()
      • Methods inherited from class java.lang.Object

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

    • Method Detail

      • peek

        @ApiStatus.Internal() final Long peek()

        this function is rather wasteful and usage should be avoided.