/* Screens, inheritance would be nice */ function LoadingTitleScreen( stage, gameState ){ var that = this; this.picture = new createjs.Bitmap( "res/Loading-Title.png" ); this.ovenLight = new createjs.Shape(); this.ovenLight.graphics.beginFill( "red" ).drawCircle( 396, 318, 5 ); stage.addChild( this.picture ); stage.addChild( this.ovenLight ); this.uiElems = []; this.uiElems.push( new DialogUI( stage, gameState ) ); return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function InfoHelpScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main.png" ); stage.addChild( this.background ); this.uiElems = []; return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function MainScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main-Screen.png" ); stage.addChild( this.background ); var turkeyAnimations = { peck:[14,24,"peck"], ruffle:[0,13,"ruffle"], stare:[25,35,"stare"] }; var data = { images: ["res/TurkeySprite.png"], frames: { width:400, height:350 }, animations: turkeyAnimations }; var spriteSheet = new createjs.SpriteSheet(data); var animation = new createjs.Sprite(spriteSheet, "stare"); animation.x = 200; animation.y = 210; animation.addEventListener("tick", handleTick); function handleTick(event) { if ( turkeyAnimations[event.currentTarget.currentAnimation][1] == event.currentTarget.currentFrame ){ event.currentTarget.paused = true; } // Click happened. } stage.addChild(animation); this.grassLayer = new createjs.Bitmap( "res/Grass.png" ); stage.addChild( this.grassLayer ); // buttons info/credits/start new ImgButton( stage, gameState, 571,527, "res/MainScreen/ButtonStart.png", "res/MainScreen/ButtonStart.png","SwitchScreen", "DifficultyScreen", "Click" ); new ImgButton( stage, gameState, 17,470, "res/MainScreen/ButtonHelp.png", "res/MainScreen/ButtonHelp.png","SwitchScreen", "InfoScreen", "Click" ); new ImgButton( stage, gameState, 17,527, "res/MainScreen/ButtonCredits.png", "res/MainScreen/ButtonCredits.png","SwitchScreen", "CreditsScreen", "Click" ); gameState.pubsub.publish( "BackgroundLoop", {name:"TitleMusic", pos:5650, volume:1} ); this.uiElems = []; return { blit : function(){ // Randomly do stuff if( createjs.Ticker.getTicks() %50 == 0 ){ animation.gotoAndPlay(["peck", "ruffle", "stare"][UtilityFunctions.randRange(0,2)]); } // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } //start button } function DifficultyScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Difficulty-Selection.png" ); stage.addChild( this.background ); // Easy/Hard Button stage.addChild( new Button( stage, gameState, 170, 40, 450, 105, "SwitchScreen", "KitchenScreen" ) ); stage.addChild( new Button( stage, gameState, 170, 150, 450, 105, "SwitchScreen", "KitchenScreen" ) ); return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function KitchenScreen( stage, gameState ){ var that = this; // Fade out any other sounds gameState.pubsub.publish( "FadeOut", "" ); this.background = new createjs.Bitmap( "res/kitchen.png" ); stage.addChild( this.background ); this.uiElems = []; for(var i in gameState.purchasedItems ){ console.log(gameState.purchasedItems); gameState.purchasedItems[i].draw( stage, 403+100*i, 350 ); } this.uiElems.push( gameState.ovenUI ? gameState.ovenUI : ( gameState.ovenUI = new OvenUI( stage, gameState ) ) ); this.uiElems.push( new ClockUI( stage, gameState ) ); this.uiElems.push( new WindowUI( stage, gameState ) ) stage.addChild( new Button( stage, gameState, 500, 40, 450, 105, "SwitchScreen", "MarketScreen" ) ); // If player did not buy a turkey, tell them if( !gameState.turkeyBought ){ gameState.pubsub.publish( "ShowDialog", {seq:"KitchenInitial", autoAdvance:false} ); } return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function MarketScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/screens/MarketScreen.png" ); var price = new createjs.Text( "100", "24px Arial", "#00000000" ); price.x = 725; price.y = 500; var wallet = new createjs.Text( gameState.wallet, "24px Arial", "#00000000" ); wallet.x = 725; wallet.y = 550; // Play soundz gameState.pubsub.publish( "Play", {name:"Entrance", volume:0.3} ); gameState.pubsub.publish( "BackgroundLoop", {name:"MarketMusic", volume:1} ); gameState.pubsub.publish( "BackgroundLoop", {name:"MarketSound", volume:0.4} ); stage.addChild( this.background ); stage.addChild(price); stage.addChild(wallet); this.uiElems = []; this.uiElems.push( new ImgButton( stage, gameState, 690,0, "res/items/ExitSign.png", "res/items/ExitGlow.png","SwitchScreen", "KitchenScreen", "Click" ) ); var marketItemKeys = Object.keys(gameState.marketItems); for (var index in marketItemKeys ) { gameState.marketItems[marketItemKeys[index]].draw( stage ); } this.topground = new createjs.Bitmap( "res/screens/MarketTopShelf.png" ); stage.addChild( this.topground ); this.showPrice = function( cost ){ price.text = cost; } gameState.pubsub.subscribe( "ShowPrice", this.showPrice ); this.setWalletAmount = function(newAmount){ wallet.text=gameState.wallet=newAmount; } gameState.pubsub.subscribe("WalletAmount", this.setWalletAmount); return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function TurkeyOutScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main.png" ); stage.addChild( this.background ); this.uiElems = []; return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function EndingScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main.png" ); stage.addChild( this.background ); this.uiElems = []; return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } } function ScoreScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main.png" ); stage.addChild( this.background ); this.uiElems = []; return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } // Retry Button } function CreditsScreen( stage, gameState ){ var that = this; this.background = new createjs.Bitmap( "res/Main.png" ); stage.addChild( this.background ); this.uiElems = []; return { blit : function(){ // Draw all the uiElements for( var index in that.uiElems ){ that.uiElems[ index ].tick(); } } } // }