private void ProcessCurrentOrder() { maxCameraRange = 3000; maxCameraAngle = 100; //weaponSystems.Disengage(); if (NextOrder != null) { CurrentOrder = NextOrder; NextOrder = null; } //log.Debug("processing"); if (CurrentOrder != null) { //log.Debug("processing order"); if (CurrentOrder.Ordertype == OrderType.Scan) { if (Docked || Undocking) { Undock(); } else { ScanLocation(); } } else if (CurrentOrder.Ordertype == OrderType.Dock) { DockToConnector(); //navigationSystems.MaintainAltitude(trackingSystems.GetAltitude(), hoverHeight); } else if (CurrentOrder.Ordertype == OrderType.Standby) { if (Docked) { navigationSystems.EnableDockedMode(); return; } else { Hover(); } } } else if (Docked) { navigationSystems.EnableDockedMode(); } else { //if no command ship //navigationSystems.AlignAcrossGravity(); //navigationSystems.Roll(0); //navigationSystems.StopRoll(); Hover(); } }
private void ProcessCurrentOrder() { maxCameraRange = 3000; maxCameraAngle = 100; //weaponSystems.Disengage(); if (NextOrder != null) { if (CurrentOrder != null && CurrentOrder.Ordertype == OrderType.Mine) { Disengaging = true; if (CurrentOrder.MiningIndex == 0) { CurrentOrder = NextOrder; NextOrder = null; Disengaging = false; } } else { CurrentOrder = NextOrder; NextOrder = null; } } //log.Debug("processing"); if (CurrentOrder != null) { //log.Debug("processing order"); if (CurrentOrder.Ordertype == OrderType.Scan) { if (Docked || Undocking) { Undock(); } else { ScanLocation(); } } else if (CurrentOrder.Ordertype == OrderType.Dock) { DockToConnector(); //Hover(); //log.Debug("Position: " + CurrentOrder.PrimaryLocation + "\nforward: " + CurrentOrder.DirectionalVectorOne + "\nup: " + CurrentOrder.ThirdLocation); //navigationSystems.MaintainAltitude(trackingSystems.GetAltitude(), hoverHeight); } else if (CurrentOrder.Ordertype == OrderType.Standby) { if (Docked) { navigationSystems.EnableDockedMode(); return; } else { Hover(); } } else if (CurrentOrder.Ordertype == OrderType.Mine) { if (Docked || Undocking) { Undock(); } else if (Disengaging) { ExitMiningPosition(); } else { MinePosition(); } } } else if (Docked) { navigationSystems.EnableDockedMode(); } else { //if no command ship //navigationSystems.AlignAcrossGravity(); //navigationSystems.Roll(0); //navigationSystems.StopRoll(); Hover(); } }