package //com.waku.components { // import com.waku.classes.WakuSound; // import com.waku.events.student_game_wakuwaku_com_waku_components_GameEvents; import flash.events.MouseEvent; import mx.containers.HBox; import mx.containers.Panel; import mx.containers.VBox; import mx.controls.Alert; public class student_game_wakuwaku_com_waku_components_Game extends Panel { public var soundEngine : student_game_wakuwaku_com_waku_classes_WakuSound = new student_game_wakuwaku_com_waku_classes_WakuSound(); private var hBox : HBox = new HBox(); private var miniGamesCompleted : int = 0; public var animalNames : Array; private var _visualTransformation : student_game_wakuwaku_com_waku_components_VisualTransformation = new student_game_wakuwaku_com_waku_components_VisualTransformation(this); public function student_game_wakuwaku_com_waku_components_Game() { var vBox : VBox = new VBox(); animalNames = new Array(); this.title="Pick an animal!"; initAnimal(0,"Horse"); initAnimal(1,"Chicken"); initAnimal(2,"Cow"); initAnimal(3,"Sheep"); initAnimal(4,"Pig"); this.addChild(hBox); } public function muteSound (state : Boolean):void { if (state == true) { soundEngine.mute(); } else { soundEngine.unmute(); } } private function initAnimal(animalId : int, animalName : String) : void { var imageButton :student_game_wakuwaku_com_waku_components_ImageButton = new student_game_wakuwaku_com_waku_components_ImageButton(); imageButton.animalId = animalId; animalNames[animalId]=animalName; imageButton.addSource("student-game-wakuwaku-com-waku-animals-0"+ animalId.toString() + "-preview.gif"); imageButton.addEventListener(MouseEvent.CLICK, animalEventHandler); hBox.addChild(imageButton); } private function animalEventHandler(event : MouseEvent) : void { var object : Object; object = event.currentTarget as student_game_wakuwaku_com_waku_components_ImageButton; launchMiniGame(object.animalId); } private function launchMiniGame(animalId : int) : void { var imageButton : student_game_wakuwaku_com_waku_components_ImageButton = hBox.getChildAt(animalId) as student_game_wakuwaku_com_waku_components_ImageButton; var miniGame : student_game_wakuwaku_com_waku_components_MiniGame; imageButton.removeEventListener(MouseEvent.CLICK, animalEventHandler); imageButton.disableAnimation(); miniGame = new student_game_wakuwaku_com_waku_components_MiniGame(animalId, animalNames[animalId],soundEngine); //ministudent_game_wakuwaku_com_waku_components_Game.addEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_FINISHED, ministudent_game_wakuwaku_com_waku_components_GameFinished); miniGame.addEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_CLOSED, miniGameClosed); this.parentApplication.addChild(miniGame); //this.visible=false; } private function miniGameClosed(event : student_game_wakuwaku_com_waku_events_GameEvents):void { var miniGame : student_game_wakuwaku_com_waku_components_MiniGame = event.target as student_game_wakuwaku_com_waku_components_MiniGame; var imageButton : student_game_wakuwaku_com_waku_components_ImageButton; miniGame.removeEventListener(student_game_wakuwaku_com_waku_events_GameEvents.MINIGAME_CLOSED, miniGameClosed); imageButton = hBox.getChildAt(miniGame.animalId) as student_game_wakuwaku_com_waku_components_ImageButton; if (miniGame.score == 3) { //imageButton.removeEventListener(MouseEvent.CLICK, animalEventHandler); //imageButton.disableAnimation(); //_visualTransformation.disabledColorTransform(imageButton); _visualTransformation.fadeSome( imageButton,0.2); //_visualTransformation.greenGlowPlay(imageButton); miniGamesCompleted++; if (miniGamesCompleted == 5) { gameFinished(); } } else { imageButton.addEventListener(MouseEvent.CLICK, animalEventHandler); imageButton.enableAnimation(); } this.parentApplication.removeChild(miniGame); } private function gameFinished():void { var alert:Alert = Alert.show("Congratulations, you have completed all of the animals"); soundEngine.Play("student-game-wakuwaku-com-waku-sounds-gamecomplete.mp3"); } } }