GameHandler.js 832 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. class GameHandler
  2. {
  3. static rootObjects = []
  4. static nextId = 0;
  5. static bDrawDebugFPS = false;
  6. static drawDebugFPS(val)
  7. {
  8. this.bDrawDebugFPS = val;
  9. }
  10. static instanceGameObject(obj)
  11. {
  12. obj.id = this.nextId;
  13. this.nextId++;
  14. }
  15. static addRootObject(obj)
  16. {
  17. this.rootObjects.push(obj);
  18. }
  19. static update()
  20. {
  21. for (let i = 0; i < this.rootObjects.length; i++)
  22. this.rootObjects[i].update(1 / frameRate());
  23. }
  24. static draw()
  25. {
  26. if (this.bDrawDebugFPS)
  27. {
  28. textSize(12);
  29. stroke(0);
  30. text("FPS: " + frameRate(), 10, 10, windowWidth, windowHeight);
  31. }
  32. for (let i = 0; i < this.rootObjects.length; i++)
  33. this.rootObjects[i].draw(1 / frameRate());
  34. }
  35. }