AtomicGame.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. Atomic.editor = null;
  2. function Game() {
  3. this.engine = Atomic.GetEngine();
  4. this.cache = Atomic.GetResourceCache();
  5. this.renderer = Atomic.GetRenderer();
  6. this.graphics = Atomic.GetGraphics();
  7. this.input = Atomic.GetInput();
  8. }
  9. Game.prototype.init = function(start, update) {
  10. this.start = start;
  11. this.update = update;
  12. // register globals to get at quickly
  13. __js_atomicgame_start = start;
  14. __js_atomicgame_update = update;
  15. }
  16. Game.prototype.getSpriteSheet2D = function(xmlFile) {
  17. return this.cache.getResource("SpriteSheet2D", xmlFile);
  18. }
  19. Game.prototype.getSpriteSheet = Game.prototype.getSpriteSheet2D;
  20. Game.prototype.getSound = function(soundFile) {
  21. return this.cache.getResource("Sound", soundFile);
  22. }
  23. Game.prototype.getSprite2D = function(spriteFile) {
  24. return this.cache.getResource("Sprite2D", spriteFile);
  25. }
  26. Game.prototype.showDebugHud = function() {
  27. var uiStyle = this.cache.getResource("XMLFile", "UI/DefaultStyle.xml");
  28. var debugHud = this.engine.createDebugHud();
  29. debugHud.defaultStyle = uiStyle;
  30. debugHud.toggleAll();
  31. }
  32. Game.prototype.createScene2D = function() {
  33. var scene = new Atomic.Scene();
  34. scene.createComponent("Octree");
  35. var cameraNode = scene.createChild("Camera");
  36. cameraNode.position = [0.0, 0.0, -10.0];
  37. var camera = cameraNode.createComponent("Camera");
  38. camera.orthographic = true;
  39. camera.orthoSize = this.graphics.height * Atomic.PIXEL_SIZE;
  40. var viewport = new Atomic.Viewport(scene, camera);
  41. if (Atomic.editor) {
  42. var _viewport = Atomic.editor.viewport;
  43. viewport.rect = [_viewport.left, _viewport.top, _viewport.right, _viewport.bottom];
  44. }
  45. this.renderer.setViewport(0, viewport);
  46. this.scene = scene;
  47. this.cameraNode = cameraNode;
  48. this.camera = camera;
  49. this.viewport = viewport;
  50. return scene;
  51. }
  52. Game.prototype.createScene3D = function() {
  53. var scene = new Atomic.Scene();
  54. scene.createComponent("Octree");
  55. var cameraNode = scene.createChild("Camera");
  56. cameraNode.position = [0.0, 0.0, -10.0];
  57. var camera = cameraNode.createComponent("Camera");
  58. var viewport = new Atomic.Viewport(scene, camera);
  59. if (Atomic.editor) {
  60. var _viewport = Atomic.editor.viewport;
  61. viewport.rect = [_viewport.left, _viewport.top, _viewport.right - 8, _viewport.bottom];
  62. }
  63. this.renderer.setViewport(0, viewport);
  64. this.scene = scene;
  65. this.cameraNode = cameraNode;
  66. this.camera = camera;
  67. this.viewport = viewport;
  68. return scene;
  69. }
  70. Atomic.game = exports.game = new Game();