State/stateMenu.js

/**
* Состояние игры, отвечающее за отображение главного меню игры.
* Синхронное состояние.
* @namespace stateMenu
* @property {string} key='menu' Название состояния.
* @see {@link State}
* @see {@link StateManager}
*/

/* exported stateMenu */
var stateMenu = new State('menu', {

	/**
	* Выводит дебаг информацию.
	* @memberof stateMenu
	*/
	render: function(){
		game.fixPause();
		game.updateDebug();
	},

	/**
	* Обновляет размер и позицию всех элементов игры.
	* @memberof stateMenu
	*/
	postResize: function(){
		ui.updatePositions();
		cardEmitter.restart(true);
		document.getElementById('loading').style.display = 'none';
	},

	/**
	* Применяет текущий скин ко всем элементам игры
	* @memberof stateMenu
	*/
	applySkin: function(){
		ui.updatePositions();
		cardEmitter.applySkin();
		ui.applySkin();
	},

	/**
	* Включает эмиттер карт, показывает главное меню и лого.
	* @memberof stateMenu
	*/
	create: function(lastState){
		if(lastState != 'queue'){
			cardEmitter.start(10, 50, 10, 2000, 20, 1);
		}

		ui.menus.main.fadeIn();
		ui.logo.fadeIn();
	},

	/**
	* Отключает эмиттер карт, прячет главное меню и лого.
	* @memberof stateMenu
	*/
	shutdown: function(nextState){
		if(nextState != 'queue'){
			cardEmitter.stop();
		}
		ui.menus.main.fadeOut();
		ui.menus.browser.fadeOut();
		ui.menus.creator.fadeOut();
		ui.logo.fadeOut();
		ui.modalManager.closeModal();
	}
});