API Docs for: 0.2.0
Show:

File: src\game.js

/**
 * @module Lyria
 */
define('lyria/game', ['lyria/viewport', 'lyria/scene/director', 'lyria/preloader', 'lyria/loop'], function(Viewport, Director, Preloader, Loop) {
  'use strict';
  
  /**
   * Game class which has a viewport, scene director and preloader by
   * default.
   *
   * @class Game 
   */
  return (function() {
    
    /**
     * @constructor 
     */
    var Game = function() {
      var self = this;
      
      /**
       * @property viewport
       * @type {Viewport} 
       */
      // Set up a viewport
      this.viewport = new Viewport();

      /**
       * @property director
       * @type {Director} 
       */      
      // Add a scene director
      this.director = new Director(this.viewport);
      
      /**
       * @property preloader
       * @type {Preloader} 
       */
      // Add a preloader
      this.preloader = new Preloader(); 
      
      // Bind the scene director to the preloader reference     
      this.preloader.sceneDirector = this.director;
      
      // Add an update task to the loop with updates the scene director on each frame
      Game.Loop.addTask('update', function(dt) {
        self.director.trigger('update', dt);
      });      
    };
    
    /**
     * @property Loop
     * @static
     * @type {Loop} 
     */
    // Store the reference to the Lyria Loop at the Game object
    Game.Loop = Loop;
    
    
    return Game;
    
  })();
  
});