//class FrontendScript package scripts.menuScripts { import com.lego.framework.application.*; import debug.fps.*; import flash.display.*; import flash.events.*; import script._core.*; import script.baseScripts.*; import scripts.Sounds.*; import scripts.data.*; import scripts.gameScripts.*; import targetEvent.*; public class FrontendScript extends script.baseScripts.SpriteScript { public function FrontendScript(arg1:flash.display.Sprite) { super(new flash.display.Sprite()); arg1.addChild(sprite); sprite.x = sprite.x + 50; sprite.y = sprite.y + 50; counter = new debug.fps.FpsCounter(10, 525, com.lego.framework.application.Configuration.version); counter.visible = false; createCheatBox(arg1); trim = new scripts.menuScripts.Trim(arg1, Game.data.bgColour); arg1.addChild(counter); _mainSprite = arg1; _playTutorial = true; _hud = new scripts.gameScripts.HUDScript(this, mainSprite); input = new script.baseScripts.InputScript(_mainSprite); addEventListener(flash.events.Event.ENTER_FRAME, update); _saveData = new scripts.data.SaveGameData(this); _saveData.init(); return; } public function showGameOver(arg1:script._core.IScript, arg2:Object=null):void { clearScript(arg1); new scripts.menuScripts.GameOverScript(this, arg2); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function showIntroMovie(arg1:script._core.IScript=null):void { clearScript(arg1); new scripts.menuScripts.IntroMovieScript(this); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function get totalDefenders():Number { return _totalDefenders; } public function set level(arg1:Number):void { _level = arg1; return; } public override function init(arg1:Object=null):void { removeEventListener("ENDSCRIPTS", endScript, true); removeEventListener("ENDSCRIPTS", endScript, false); _musicPlayer = new scripts.Sounds.MusicPlayer(sprite); _soundPlayer = new scripts.Sounds.SoundPlayer(sprite); setSoundLevels(); showMain(); var loc1:*=new SoundButton(); loc1.x = 612; loc1.y = 405; _mainSprite.addChild(loc1); setupSoundButton(loc1); return; } private function createCheatBox(arg1:flash.display.Sprite):void { var loc1:*=null; frontEndCheats = new flash.display.Sprite(); loc1 = new CheatInfoBox(); loc1.message.text = String("Clear SO: c s o"); frontEndCheats.addChild(loc1); frontEndCheats.x = screenX + 50; frontEndCheats.y = 100; gameCheats = new flash.display.Sprite(); loc1 = new CheatInfoBox(); loc1.message.text = "Win Level: w"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); loc1 = new CheatInfoBox(); loc1.message.text = "Lose Level: l"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); loc1 = new CheatInfoBox(); loc1.message.text = "Inc Mana: m"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); loc1 = new CheatInfoBox(); loc1.message.text = "Inc Ranks: +"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); loc1 = new CheatInfoBox(); loc1.message.text = "Add Villager: V"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); loc1 = new CheatInfoBox(); loc1.message.text = "All Spells: S"; loc1.y = gameCheats.height; gameCheats.addChild(loc1); gameCheats.x = screenX + 50; gameCheats.y = 100; arg1.addChild(frontEndCheats); arg1.addChild(gameCheats); return; } public function toggleSound(arg1:flash.events.MouseEvent):void { var loc1:*=arg1.currentTarget as SoundButton; saveData.saveGame.soundState = saveData.saveGame.soundState + 1; if (saveData.saveGame.soundState > 3) { saveData.saveGame.soundState = 1; } loc1.symbol.gotoAndStop(saveData.saveGame.soundState); setSoundLevels(); return; } public function runGame(arg1:script._core.IScript=null):void { clearScript(arg1); setSoundLevels(); addEventListener("GAMEOVER", gameOver); _gameScript = new scripts.gameScripts.GameScript(sprite, this); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function set totalDefenders(arg1:Number):void { _totalDefenders = arg1; return; } private function checkCheats():void { var loc1:*=NaN; if (input.keysDown[70] && input.keysDown[84]) { CHEATMODE = true; counter.visible = true; if (!showCheat) { showCheat = true; cheatDelay = 100; if (_gameScript) { cheatDisplay = gameCheats; } else { cheatDisplay = frontEndCheats; } } } if (CHEATMODE) { if (_gameScript) { if (input.keysDown[87]) { _gameScript.spawns.cheatWin = true; gameScript.maxSpawnTime = 0; input.clearList(); } if (input.keysDown[76]) { _gameScript.spawns.cheatlose = true; gameScript.maxSpawnTime = 0; input.clearList(); } if (input.keysDown[77]) { _gameScript.hud.addMana(new targetEvent.TargetEvent(1, "addMana")); } if (input.keysDown[187]) { loc1 = _gameScript.rankStates.length; while (--loc1 >= 0) { if (!(_gameScript.rankStates[loc1] < 5)) { continue; } var loc2:*; var loc3:*; var loc4:*=((loc2 = _gameScript.rankStates)[(loc3 = loc1)] + 1); loc2[loc3] = loc4; } } if (input.keysDown[86]) { _gameScript.spawns.addVillager(); } if (input.keysDown[83]) { _gameScript.hud.SpellsActive(); } } else { if (input.keysDown[67] && input.keysDown[83] && input.keysDown[79]) { saveData.clearSO(); } } } return; } public function gotSave(arg1:flash.events.Event):void { trace("GOT SAVE DISPATCH"); init(); return; } public function get trim():scripts.menuScripts.Trim { return _trim; } public function sponsorLink(arg1:flash.events.MouseEvent):void { return; } public function set trim(arg1:scripts.menuScripts.Trim):void { _trim = arg1; return; } public function set totalSaved(arg1:Number):void { _totalSaved = arg1; return; } public function get mana():Number { return _mana; } public function showInstructions(arg1:script._core.IScript):void { clearScript(arg1); new scripts.menuScripts.InstructionsScript(this); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function get levelData():scripts.data.LevelSpawnData { return _levelData; } public function showMain(arg1:script._core.IScript=null):void { _level = 1; _maxMana = 50; _mana = _maxMana; _totalScore = 0; _totalSaved = 0; _totalDefenders = 0; clearScript(arg1); new scripts.menuScripts.MainMenuScript(this); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function set totalScore(arg1:Number):void { _totalScore = arg1; return; } public function setupSoundButton(arg1:SoundButton):void { new scripts.menuScripts.ButtonScript(this, arg1, toggleSound); arg1.symbol.gotoAndStop(saveData.saveGame.soundState); setSoundLevels(); return; } public function get musicPlayer():scripts.Sounds.MusicPlayer { return _musicPlayer; } public function set playTutorial(arg1:Boolean):void { _playTutorial = arg1; return; } public function get gameScript():scripts.gameScripts.GameScript { return _gameScript; } public function get screenY():Number { return _screenY; } public function get screenX():Number { return _screenX; } public function clearScript(arg1:script._core.IScript=null):void { if (arg1) { arg1.dispatchEvent(new flash.events.Event("ENDSCRIPTS")); } return; } public function get level():Number { return _level; } public function set mana(arg1:Number):void { _mana = arg1; return; } public function set input(arg1:script.baseScripts.InputScript):void { _input = arg1; return; } public function set saveData(arg1:scripts.data.SaveGameData):void { _saveData = arg1; return; } private function setSoundLevels():void { if (saveData.saveGame.soundState > 2) { _soundPlayer.mute(true); _musicPlayer.mute(true); } else { if (saveData.saveGame.soundState > 1) { _soundPlayer.mute(false); _musicPlayer.mute(true); } else { _soundPlayer.mute(false); _musicPlayer.mute(false); } } return; } public function set maxMana(arg1:Number):void { _maxMana = arg1; return; } public function set soundPlayer(arg1:scripts.Sounds.SoundPlayer):void { _soundPlayer = arg1; return; } public function get totalSaved():Number { return _totalSaved; } public function set levelData(arg1:scripts.data.LevelSpawnData):void { _levelData = arg1; return; } public function get totalScore():Number { return _totalScore; } public function get playTutorial():Boolean { return _playTutorial; } public function set gameScript(arg1:scripts.gameScripts.GameScript):void { _gameScript = arg1; return; } public function set mainSprite(arg1:flash.display.Sprite):void { _mainSprite = arg1; return; } public function showOutroMovie(arg1:script._core.IScript, arg2:Object):void { clearScript(arg1); new scripts.menuScripts.OutroMovieScript(this, arg2); soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function get saveData():scripts.data.SaveGameData { return _saveData; } public override function update(arg1:flash.events.Event=null):void { if (_saveData.saveGameSetup && !_musicPlayer) { init(); } else { return; } if (counter.visible) { counter.update(); } if (showCheat == true) { if (cheatDisplay.x + cheatDisplay.width + 20 < screenX || cheatDelay < 100) { var loc1:*; var loc2:*; if (--cheatDelay < 0) { if (cheatDisplay.x > screenX + 20) { cheatDelay = 100; showCheat = false; } cheatDisplay.x = cheatDisplay.x + 10; } } else { cheatDisplay.x = cheatDisplay.x - 10; } } checkCheats(); return; } public function get input():script.baseScripts.InputScript { return _input; } public function set musicPlayer(arg1:scripts.Sounds.MusicPlayer):void { _musicPlayer = arg1; return; } public function get maxMana():Number { return _maxMana; } public function showLevelInfo(arg1:script._core.IScript=null):void { clearScript(arg1); _musicPlayer.setLayer(_musicPlayer.layerNum + 1); _levelData = new scripts.data.LevelSpawnData(level); if (level != 7) { new scripts.menuScripts.LevelIntroScript(this); } else { runGame(); } soundPlayer.play(scripts.Sounds.SoundPlayer.SFX_transitionIn); return; } public function get soundPlayer():scripts.Sounds.SoundPlayer { return _soundPlayer; } public function set screenX(arg1:Number):void { _screenX = arg1; return; } public function set screenY(arg1:Number):void { _screenY = arg1; return; } public function get mainSprite():flash.display.Sprite { return _mainSprite; } public function gameOver(arg1:targetEvent.TargetEvent=null):void { removeEventListener("GAMEOVER", gameOver); _gameScript = null; var loc1:*=arg1.customTarget; if (level < 7 && loc1.nextLevel == true) { var loc2:*; _level++; new scripts.menuScripts.LevelSummaryScript(this, loc1); } else { new scripts.menuScripts.LevelSummaryScript(this, loc1); } _musicPlayer.setLayer(0); return; } public function set hud(arg1:scripts.gameScripts.HUDScript):void { _hud = arg1; return; } public function get hud():scripts.gameScripts.HUDScript { return _hud; } { CHEATMODE = false; } private var _trim:scripts.menuScripts.Trim; private var counter:debug.fps.FpsCounter; private var _soundPlayer:scripts.Sounds.SoundPlayer; private var _mana:Number=50; private var _totalDefenders:Number=0; private var _screenX:Number=600; private var _screenY:Number=450; private var _saveData:scripts.data.SaveGameData; private var _hud:scripts.gameScripts.HUDScript; private var _totalSaved:Number=0; private var _totalScore:Number=0; private var cheatDisplay:flash.display.Sprite; private var cheatDelay:Number; private var _mainSprite:flash.display.Sprite; private var _level:Number=1; private var _maxMana:Number=50; private var _playTutorial:Boolean=false; private var frontEndCheats:flash.display.Sprite; private var gameCheats:flash.display.Sprite; private var _musicPlayer:scripts.Sounds.MusicPlayer; private var _input:script.baseScripts.InputScript; private var _levelData:scripts.data.LevelSpawnData; private var showCheat:Boolean; private var _gameScript:scripts.gameScripts.GameScript; private static var CHEATMODE:Boolean=false; } }