void Initialise() { hdgBankCtrl = controllers[(int)AsstList.HdgBank] = new APController(AsstList.HdgBank, defaultHdgBankGains); bankToYawCtrl = controllers[(int)AsstList.BankToYaw] = new APController(AsstList.BankToYaw, defaultBankToYawGains); aileronCtrl = controllers[(int)AsstList.Aileron] = new APController(AsstList.Aileron, defaultAileronGains); rudderCtrl = controllers[(int)AsstList.Rudder] = new APController(AsstList.Rudder, defaultRudderGains); altCtrl = controllers[(int)AsstList.Altitude] = new APController(AsstList.Altitude, defaultAltitudeGains); vertSpeedCtrl = controllers[(int)AsstList.VertSpeed] = new APController(AsstList.VertSpeed, defaultVSpeedGains); elevCtrl = controllers[(int)AsstList.Elevator] = new APController(AsstList.Elevator, defaultElevatorGains); speedCtrl = controllers[(int)AsstList.Speed] = new APController(AsstList.Speed, defaultSpeedGains); accelCtrl = controllers[(int)AsstList.Acceleration] = new APController(AsstList.Acceleration, defaultAccelGains); xtrkSpeedCtrl = controllers[(int)AsstList.CdiVelocity] = new APController(AsstList.CdiVelocity, defaultXtrkGains); // Set up a default preset that can be easily returned to PresetManager.initDefaultPresets(new APPreset(controllers, "default")); hdgBankCtrl.invertOutput = true; bankToYawCtrl.invertOutput = true; aileronCtrl.invertInput = true; altCtrl.invertOutput = true; vertSpeedCtrl.invertOutput = true; elevCtrl.invertOutput = true; speedCtrl.invertOutput = true; accelCtrl.invertOutput = true; aileronCtrl.InMax = 180; aileronCtrl.InMin = -180; altCtrl.InMin = 0; speedCtrl.InMin = 0; hdgBankCtrl.isHeadingControl = true; // fix for derivative freaking out when heading target flickers across 0/360 }
public static void newAPPreset(ref string name, APController[] controllers, Vessel v) { if (name == "") return; string tempName = name; if (Instance.APPresetList.Any(p => p.name == tempName)) { GeneralUI.postMessage("Failed to add preset with duplicate name"); return; } APPreset newPreset = new APPreset(controllers, name); updateCraftPreset(newPreset, v); Instance.APPresetList.Add(newPreset); Instance.activeAPPreset = PresetManager.Instance.APPresetList.Last(); saveToFile(); name = ""; }
private bool controllerVisible(APController controller) { if (!controller.bShow) return false; switch (controller.ctrlID) { case AsstList.HdgBank: case AsstList.BankToYaw: return bShowHdg && CurrentHrztMode != HrztMode.Bank; case AsstList.Aileron: case AsstList.Rudder: return bShowHdg && showControlSurfaces; case AsstList.Altitude: return bShowVert && (CurrentVertMode == VertMode.Altitude || CurrentVertMode == VertMode.RadarAltitude); case AsstList.VertSpeed: return bShowVert; case AsstList.Elevator: return bShowVert && showControlSurfaces; case AsstList.Speed: return bShowThrottle && CurrentThrottleMode == ThrottleMode.Speed; case AsstList.Acceleration: return bShowThrottle; default: return true; } }
private bool ValidateUnit(int turn, APController output) { return output.ToString().Equals(m_objArray[m_unitsToMove[turn]].GetComponent<APController>().ToString()); }