//Augment Module var ITW = (function(itw){ "use strict"; //aliases var components, protot; itw.components = itw.components || Object.create(null); components = itw.components; var randomRange; components.SeaBed = function( ){ this.super.call(this); var _init = function(){ var index = 0; this.seabedContainer1 = new EHDI.aka.Container(); for( index = 0; index < 4; index++ ){ var seabedObj = new EHDI.aka.Sprite( EHDI.Assets.images[ "seabed1" ] ); this.seabedContainer1.addChild( seabedObj ); seabedObj.x = seabedObj.width * index; } this.seabedContainer1.y = ITW.SceneMgr.getStageHeight() - this.seabedContainer1.height; this.seabedContainer2 = new EHDI.aka.Container(); for( index = 0; index < 4; index++ ){ var seabedObj = new EHDI.aka.Sprite( EHDI.Assets.images[ "seabed2" ] ); this.seabedContainer2.addChild( seabedObj ); seabedObj.x = seabedObj.width * index; } this.seabedContainer2.y = ITW.SceneMgr.getStageHeight() - this.seabedContainer2.height; this.addChild(this.seabedContainer2); this.addChild(this.seabedContainer1); randomRange = { min: this.width * 0.30, max: this.width * 0.60 } this.decoContainer = new EHDI.aka.Container(); this.decos = []; var scale; for( index = 0; index < 2; index++ ){ this.decos[index] = new EHDI.aka.Sprite( EHDI.Assets.images[ "seabed_reefs" + index ] ); this.decoContainer.addChild( this.decos[index] ); scale = EHDI.NumberUtil.randomRange(0.9,1.1); this.decos[index].scale.set(scale, scale); this.decos[index].x = EHDI.NumberUtil.randomRange(randomRange.min, randomRange.max); this.decos[index].y = ITW.SceneMgr.getStageHeight() - ( this.decos[index].height * 1.3 ) } this.addChildAt(this.decoContainer, 1); }.bind(this); _init(); } protot = components.SeaBed.prototype = Object.create(EHDI.aka.Container.prototype); protot.constructor = components.SeaBed; protot.super = EHDI.aka.Container; protot.loop = function( dt ){ this.x -= dt * ITW.GameMgr.getSpeed(); if( this.x <= this.width * -0.75 ){ this.x += this.width * 0.75; this.randomDecos(); } } protot.randomDecos = function(){ var scale; for(var index = 0; index < this.decos.length; index++ ){ scale = EHDI.NumberUtil.randomRange(0.9,1.1); this.decos[index].scale.set(scale, scale); this.decos[index].x = EHDI.NumberUtil.randomRange(randomRange.min, randomRange.max); } } protot.destroy = function(){ while(this.decos.length > 0){ var dc = this.decos.pop(); dc.destroy({children: true}); } this.super.prototype.destroy.call(this, {children: true}); } return itw; }(ITW || Object.create(null)))