package { import flash.display.*; import flash.events.*; import flash.ui.*; import Source.*; import Source.gGame; import flash.display.StageScaleMode; public class gMain extends MovieClip { public static var pInstance:gMain; public static var Slate:MovieClip; public var m_game:gGame; public var m_paused:Boolean; public var m_baseLayer:MovieClip; public function gMain() { pInstance = this; m_baseLayer = new MovieClip(); m_paused = false; Slate = m_baseLayer; m_game = new gGame(); stage.addEventListener(Event.ENTER_FRAME, update); stage.addEventListener(Event.ACTIVATE, activate); stage.addEventListener(Event.DEACTIVATE, activate); // Keyboard Event Listeners stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown); stage.addEventListener(KeyboardEvent.KEY_UP, keyup); // Mouse Event Listeners stage.addEventListener(MouseEvent.CLICK, mouseclick); stage.addEventListener(MouseEvent.DOUBLE_CLICK, mousedblclick); stage.addEventListener(MouseEvent.MOUSE_DOWN, mousedown); stage.addEventListener(MouseEvent.MOUSE_UP, mouseup); stage.addEventListener(MouseEvent.MOUSE_MOVE, mousemove); stage.addEventListener(MouseEvent.MOUSE_WHEEL, mousewheel); stage.scaleMode = StageScaleMode.EXACT_FIT; addChild(m_game); } private function update(e:Event):void { m_game.Update(e); m_game.Draw(e); } private function activate(e:Event):void { m_paused = (e.type != "activate"); m_game.SetPaused(m_paused); } private function keydown(e:KeyboardEvent):void { m_game.KeyDown(e.keyCode); } private function keyup(e:KeyboardEvent):void { } private function mouseclick(e:MouseEvent):void { } private function mousedblclick(e:MouseEvent):void { } private function mousedown(e:MouseEvent):void { m_game.MouseDown(e.stageX, e.stageY); } private function mouseup(e:MouseEvent):void { m_game.MouseUp(e.stageX, e.stageY); } private function mousemove(e:MouseEvent):void { } private function mousewheel(e:MouseEvent):void { m_game.MouseScroll(e.delta); } public function SetQuality(quality:String):void { if(quality == "high") { stage.quality = StageQuality.HIGH; } else if(quality == "medium") { stage.quality = StageQuality.MEDIUM; } else if(quality == "low") { stage.quality = StageQuality.LOW ; } } } }