internal void EnsurePopulated() { if (Lights == null) { Lights = new AircraftConfigurationLights(); } Lights.EnsurePopulated(); if (Engines == null) { Engines = new AircraftConfigurationEngines(); } Engines.EnsurePopulated(); if (!GearDown.HasValue) { GearDown = true; } if (!FlapsPercent.HasValue) { FlapsPercent = 0; } if (!SpoilersDeployed.HasValue) { SpoilersDeployed = false; } if (!OnGround.HasValue) { OnGround = true; } }
internal AircraftConfigurationLights CreateIncremental(AircraftConfigurationLights cfg) { EnsurePopulated(); cfg.EnsurePopulated(); if (cfg.Equals(this)) { return(null); } AircraftConfigurationLights inc = new AircraftConfigurationLights(); if (cfg.StrobesOn != StrobesOn) { inc.StrobesOn = cfg.StrobesOn; } if (cfg.LandingOn != LandingOn) { inc.LandingOn = cfg.LandingOn; } if (cfg.TaxiOn != TaxiOn) { inc.TaxiOn = cfg.TaxiOn; } if (cfg.BeaconOn != BeaconOn) { inc.BeaconOn = cfg.BeaconOn; } if (cfg.NavOn != NavOn) { inc.NavOn = cfg.NavOn; } return(inc); }
internal static AircraftConfigurationLights FromUserAircraftData(UserAircraftData uad) { AircraftConfigurationLights acl = new AircraftConfigurationLights { StrobesOn = uad.StrobeLightsOn, LandingOn = uad.LandingLightsOn, TaxiOn = uad.TaxiLightsOn, BeaconOn = uad.BeaconLightsOn, NavOn = uad.NavLightsOn }; return(acl); }
internal AircraftConfigurationLights Clone() { AircraftConfigurationLights clone = new AircraftConfigurationLights { StrobesOn = StrobesOn, LandingOn = LandingOn, TaxiOn = TaxiOn, BeaconOn = BeaconOn, NavOn = NavOn }; return(clone); }
internal static AircraftConfiguration FromUserAircraftData(UserAircraftData uad) { AircraftConfiguration cfg = new AircraftConfiguration { Lights = AircraftConfigurationLights.FromUserAircraftData(uad), Engines = AircraftConfigurationEngines.FromUserAircraftData(uad), GearDown = uad.GearDown, FlapsPercent = RoundUpToNearest5(uad.FlapsPercentage), SpoilersDeployed = uad.SpeedBrakeDeployed, OnGround = uad.OnGround }; return(cfg); }
internal void ApplyIncremental(AircraftConfigurationLights inc) { if (inc.StrobesOn.HasValue) { StrobesOn = inc.StrobesOn.Value; } if (inc.LandingOn.HasValue) { LandingOn = inc.LandingOn.Value; } if (inc.TaxiOn.HasValue) { TaxiOn = inc.TaxiOn.Value; } if (inc.BeaconOn.HasValue) { BeaconOn = inc.BeaconOn.Value; } if (inc.NavOn.HasValue) { NavOn = inc.NavOn.Value; } }