package { import flash.display.MovieClip; import flash.display.Stage; import flash.geom.ColorTransform; public class Main { private var _stage:Stage; private var currentSector:Sector; private var player:Player; private var keyboard:KeyboardEvents; private var dbShips:DBShipsData; private var dbWeapons:DBWeapons; private var dbMaps:DBMaps; private var xmlFilesLoaded:int = 0; private var rotationBox:MovieClip; private var bgHandler:BackgroundHandler; private var allegienceColors:Array = new Array(); private var gui:GUI; public function Main($stage:Stage) { _stage = $stage; assignColors(); //when the xml files are done loading they will call xmlFileLoaded() //and when it has been called sufficient ammount of times the rest of the constructor //will run in start() dbWeapons = new DBWeapons(this); dbShips = new DBShipsData(this); dbMaps = new DBMaps(this); } public function xmlFileLoaded():void { if (++xmlFilesLoaded >= 3) start(); } public function start():void { keyboard = new KeyboardEvents(_stage); //create rotationBox inside the stage //and place it in the middle of the screen rotationBox = new MovieClip(); rotationBox.x = _stage.stageWidth / 2; rotationBox.y = _stage.stageHeight / 2; _stage.addChildAt(rotationBox, 1); //create sector inside rotationBox currentSector = new Sector(this, keyboard); rotationBox.addChild(currentSector); player = new Player(this); //create starhandler bgHandler = new BackgroundHandler(stage.stageWidth, stage.stageHeight, currentSector.Player_Ship); _stage.addChildAt(bgHandler, 0); //gui gui = new GUI(this); _stage.addChildAt(gui, 3); } private function assignColors() { allegienceColors[0] = new ColorTransform(); allegienceColors[1] = new ColorTransform(); allegienceColors[2] = new ColorTransform(); allegienceColors[3] = new ColorTransform(); allegienceColors[4] = new ColorTransform(); allegienceColors[5] = new ColorTransform(); allegienceColors[6] = new ColorTransform(); allegienceColors[0].color = 0x0000BB;//blue allegienceColors[1].color = 0x990000;//wine-red allegienceColors[2].color = 0x009900;//green allegienceColors[3].color = 0xFFFF00;//yellow allegienceColors[4].color = 0x800080;//purple allegienceColors[5].color = 0x00FFFF;//teal allegienceColors[6].color = 0xFF6600;//orange } //--------------------------------------------set/get-------------------------------------------- public function get StageWidth():Number { return _stage.stageWidth; } public function get StageHeight():Number { return _stage.stageHeight; } public function get KeyPress():Array { return keyboard.getKeyPress(); } public function get stage():Stage { return _stage; } public function get Player_Ship():PlayerShip { return currentSector.Player_Ship; } public function set RotationBoxZoom($v:Number) { rotationBox.scaleX = $v; rotationBox.scaleY = $v; } public function set RotationBoxRotation($v:Number) { rotationBox.rotation = $v; } public function get RotationBoxZoom():Number { return rotationBox.scaleX; } public function get AllegianceColors():Array { return allegienceColors; } public function get GetSector():Sector { return currentSector; } public function get getGUI():GUI { return gui } public function get getDBMaps():DBMaps { return dbMaps; } public function get getDBShipsData():DBShipsData { return dbShips; } public function get getDBWeapons():DBWeapons { return dbWeapons; } } }