//Augment Module var ITW = (function(itw){ "use strict"; //aliases var managers, protot, _this, _super; itw.managers = itw.managers || Object.create(null); managers = itw.managers; //CONST var AIR_REP = 18; var AIR_DEP = 3; //privates - initialize on constructor function var _airContainer, _airBG, _airIcon; var _airHeader, _airLabel; var _air, _airCeil; var _airDangerTL; var _player; managers.AirManager = function( player ){ this.super.call(this); _this = this; _super = _this.super; _player = player; var _init = function(){ // init stuff here _this.jonah = null; _air = _airCeil = 100; _airContainer = new EHDI.aka.Container(); _this.addChild( _airContainer ); _airBG = new EHDI.aka.Sprite( EHDI.Assets.images[ "gfx_container" ] ); _airContainer.addChild( _airBG ); // _airHeader = new EHDI.aka.PixiText("AIR: ", {fontFamily: 'proximanova-black', fill: 0xFFFFFF, fontSize: 17}); _airHeader = new EHDI.displays.TextSprite(EHDI.GAME.JSONMgr.getLocale("LBL_AIR_HEADER")); _airHeader.anchor.x = 0.5; _airHeader.anchor.y = 0.5; _airHeader.position.set( _airBG.width * 0.19, _airBG.height * 0.4 ); _airContainer.addChild( _airHeader ); // _airLabel = new EHDI.aka.PixiText("100", {fontFamily: 'proximanova-black', fill: 0xFFFFFF, fontSize: 36}); _airLabel = new EHDI.displays.TextSprite(EHDI.GAME.JSONMgr.getLocale("AIR_FORMAT")); _airLabel.anchor.x = 0.5; _airLabel.anchor.y = 0.5; _airLabel.position.set( _airBG.width * 0.575, _airBG.height * 0.45 ); _airContainer.addChild( _airLabel ); _airIcon = new EHDI.aka.Sprite( EHDI.Assets.images[ "air_ico" ] ); _airIcon.anchor.x = 0.5; _airIcon.anchor.y = 0.5; _airIcon.position.set( _airLabel.x + ( _airLabel.width * 0.95 ), _airLabel.y ); _airContainer.addChild( _airIcon ); _airDangerTL = new TimelineMax(); _airDangerTL.to( _airLabel.scale, 0.1, {x: 1.4, y: 1.4} ); _airDangerTL.to( _airLabel.scale, 0.1, {x: 1, y: 1} ); _airDangerTL.pause(); } _init(); } protot = managers.AirManager.prototype = Object.create(EHDI.aka.Container.prototype); protot.constructor = managers.AirManager; protot.super = EHDI.aka.Container; protot.loop = function( dt ){ if(!!_player.isDead) return; if( _player.getSurfaceStatus() === true ){ _air += AIR_REP * dt; if( _air > 100 ) _air = 100; } else{ _air -= AIR_DEP * dt; if( _air <= 0 ){ _air = 0; _airLabel.text = "0"; // ITW.GameMgr.setLoop("bg", false); ITW.GameMgr.setLoop("player", false); _player.animateDeath(false, function(){ ITW.DBoneFactory.enableClock = false; ITW.GameMgr.setGameOver( true ); }); //ITW.DBoneFactory.enableClock = false; //ITW.GameMgr.setGameOver( true ); return; } } if( _air > 20 && _air < 50 ){ _airLabel.style.fill = 0xFFCC00; if(!_player.nearCollision) _player.updateState("danger"); this.jonah.updateExpression(1); }else if( _air < 20 ){ _airLabel.style.fill = 0xFF0000; this.jonah.updateExpression(2); }else{ _airLabel.style.fill = 0xFFFFFF; this.jonah.updateExpression(0); if(_player.currentState !== "blink" && !_player.nearCollision) _player.updateState("normal"); } if( _airCeil !== Math.ceil( _air ) ){ _airCeil = Math.ceil( _air ); _airLabel.text = _airCeil; if( _player.getSurfaceStatus() === false && ( ( _airCeil >= 20 && _airCeil <= 50 && _airCeil % 5 === 0 ) || ( _airCeil < 20 && _airCeil % 3 === 0 ) ) ){ _airDangerTL.restart(); _airDangerTL.play(); } } } protot.setContainerPosition = function(x,y) { _airContainer.position.set(x,y); } protot.destroy = function(){ _airDangerTL.stop(); _airDangerTL.kill(); _super.prototype.destroy.call(this, {children: true}); } return itw; }(ITW || Object.create(null)));