package Screens { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import Services.ClientService; import Services.LevelService; public class MainScreen extends Sprite { private var widget : w_main = new w_main(); //Services private var level : LevelService = SystemController.getInstance().levelService; private var client : ClientService = SystemController.getInstance().clientService; public function MainScreen() { addChild(widget); widget.m_single.white.visible = false; widget.m_multi.white.visible = false; widget.m_scores.white.visible = false; widget.m_help.white.visible = false; widget.m_single.addEventListener(MouseEvent.ROLL_OVER, highlight); widget.m_single.addEventListener(MouseEvent.ROLL_OUT, unhighlight); widget.m_single.addEventListener(MouseEvent.CLICK, gotoSingle); widget.m_multi.addEventListener(MouseEvent.ROLL_OVER, highlight); widget.m_multi.addEventListener(MouseEvent.ROLL_OUT, unhighlight); widget.m_multi.addEventListener(MouseEvent.CLICK, gotoMulti); widget.m_scores.addEventListener(MouseEvent.ROLL_OVER, highlight); widget.m_scores.addEventListener(MouseEvent.ROLL_OUT, unhighlight); widget.m_scores.addEventListener(MouseEvent.CLICK, gotoScores); widget.m_help.addEventListener(MouseEvent.ROLL_OVER, highlight); widget.m_help.addEventListener(MouseEvent.ROLL_OUT, unhighlight); widget.m_help.addEventListener(MouseEvent.CLICK, gotoTutorial); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); widget.x = stage.stageWidth / 2; // Hide Multiplayer/Scores Menu if not connected to server if (!client.connected) { widget.m_multi.visible = false; widget.m_scores.visible = false; var dist : Number = widget.m_multi.y - widget.m_single.y; widget.m_help.y -= 2*dist; } } private function highlight(e:MouseEvent):void { e.target.white.visible = true; } private function unhighlight(e:MouseEvent):void { e.target.white.visible = false; } private function gotoSingle(e:Event):void { SystemController.getInstance().singlePlayerMode = true; SystemController.getInstance().animateChangeScreen(this, ScreenIndex.LEVEL); } private function gotoMulti(e:Event):void { SystemController.getInstance().singlePlayerMode = false; SystemController.getInstance().animateChangeScreen(this, ScreenIndex.LOBBY); } private function gotoTutorial(e:Event):void { SystemController.getInstance().fadeChangeScreen(this, ScreenIndex.HELP); } private function gotoScores(e:Event):void { SystemController.getInstance().animateChangeScreen(this, ScreenIndex.SCORE); } } }