UNPKG

@soundstep/soma

Version:

Soma is a javascript framework created to build scalable and maintainable applications.

39 lines (34 loc) 1.21 kB
/*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 || {});