Class AbstractTestbedController

java.lang.Object
de.pirckheimer_gymnasium.jbox2d.testbed.framework.AbstractTestbedController
Direct Known Subclasses:
TestbedController

public abstract class AbstractTestbedController extends Object
This class contains most control logic for the testbed and the update loop. It also watches the model to switch tests and populates the model with some loop statistics.
Author:
Daniel Murphy
  • Field Details

    • DEFAULT_FPS

      public static final int DEFAULT_FPS
      See Also:
    • startTime

      protected long startTime
    • beforeTime

      protected long beforeTime
    • afterTime

      protected long afterTime
    • updateTime

      protected long updateTime
    • timeDiff

      protected long timeDiff
    • sleepTime

      protected long sleepTime
    • timeSpent

      protected long timeSpent
  • Constructor Details

  • Method Details

    • load

      public void load()
    • save

      public void save()
    • reset

      public void reset()
    • queueLaunchBomb

      public void queueLaunchBomb()
    • queuePause

      public void queuePause()
    • queueMouseUp

      public void queueMouseUp(Vec2 screenPos, int button)
    • queueMouseDown

      public void queueMouseDown(Vec2 screenPos, int button)
    • queueMouseMove

      public void queueMouseMove(Vec2 screenPos)
    • queueMouseDrag

      public void queueMouseDrag(Vec2 screenPos, int button)
    • queueKeyPressed

      public void queueKeyPressed(char c, int code)
    • queueKeyReleased

      public void queueKeyReleased(char c, int code)
    • updateExtents

      public void updateExtents(float halfWidth, float halfHeight)
    • loopInit

      protected void loopInit()
    • updateTest

      public void updateTest()
      Called by the main run loop. If the update behavior is set to AbstractTestbedController.UpdateBehavior.UPDATE_IGNORED, then this needs to be called manually to update the input and test.
    • nextTest

      public void nextTest()
    • lastTest

      public void lastTest()
    • playTest

      public void playTest(int argIndex)
    • setFrameRate

      public void setFrameRate(int fps)
    • getFrameRate

      public int getFrameRate()
    • getCalculatedFrameRate

      public float getCalculatedFrameRate()
    • getStartTime

      public long getStartTime()
    • getFrameCount

      public long getFrameCount()
    • isAnimating

      public boolean isAnimating()
    • start

      public void start()
    • stop

      public void stop()
    • startAnimator

      public void startAnimator()
    • stopAnimator

      public void stopAnimator()
    • stepAndRender

      protected void stepAndRender()
    • render

      protected void render(TestbedPanel panel)