Source: utils/Game.js

/**
 * Interface that defines high level methods for a game.
 *
 * @class
 * @interface
 */
Grape2D.Game = function() {};

Grape2D.Game.prototype = {
	constructor: Grape2D.Game,
	/**
	 * Sets up the game. It should be executed before any other method.
	 *
	 * @public
	 */
	setup: function() {},
	/**
	 * Starts the animation process.
	 *
	 * @public
	 */
	start: function() {},
	/**
	 * Stop the animation process.
	 *
	 * @public
	 */
	stop: function() {},
	/**
	 * Renders what needed be, to the right places.
	 *
	 * @public
	 */
	render: function() {},
	/**
	 * Updates the game, between frames.
	 *
	 * @param  {!number} dt The miliseconds elapsed since the last
	 *   animation call.
	 *
	 * @public
	 */
	update: function(dt) {},
	/**
	 * Calls the others methods, and "prepare" the next frame.
	 *
	 * @public
	 */
	animate: function() {}
};