@soundstep/soma
Version:
Soma is a javascript framework created to build scalable and maintainable applications.
39 lines (34 loc) • 1.21 kB
JavaScript
/*globals soma:false*/
(function(snake) {
'use strict';
var SnakeGame = new soma.Application.extend({
init: function() {
// config
this.injector.mapValue('config', snake.Config);
this.injector.mapValue('debug', snake.Config.debug);
// commands
this.commands.add('start', snake.StartCommand);
this.commands.add('end', snake.EndCommand);
// models
this.injector.mapClass('time', snake.Time, true);
this.injector.mapClass('grid', snake.Grid, true);
this.injector.mapClass('path', snake.Path, true);
this.injector.mapClass('input', snake.Input, true);
this.injector.mapClass('collision', snake.Collision, true);
// layers
this.injector.mapClass('gridLayer', snake.GridLayer, true);
this.injector.mapClass('snakeLayer', snake.SnakeLayer, true);
this.injector.mapClass('foodLayer', snake.FoodLayer, true);
// entities
this.injector.mapClass('snake', snake.Snake);
this.injector.mapClass('food', snake.Food);
// mediators
this.mediators.create(document.querySelector('.canvas'), snake.Canvas);
},
start: function() {
this.emitter.dispatch('start');
}
});
var game = new SnakeGame();
game.start();
})(window.snake = window.snake || {});