private void SwitchGearsLock(SpacePortGearsController ctrl, bool toOpen) { //Log.Write("There is {0} landing gears totally", Entities.LandingGears.Count); //Log.Write("There is {0} landing gears in group {1} totally", Entities.LandingGears.Count(p => p.HangarCode == _button.HangarCode), _button.HangarCode); var gears = Entities.LandingGears.Where( p => p.Entity.CustomName.StartsWith(Constants.SpacePortPrefix, StringComparison.OrdinalIgnoreCase)) .Where(p => p.HangarCode.Equals(_button.HangarCode, StringComparison.OrdinalIgnoreCase)) .ToList(); Log.Write("Got {0} landing gears, while button is {1}", gears.Count, _button.Entity.CustomName); if (toOpen) { MyAPIGateway.Utilities.ShowNotification("Landing Gears: Unlocking"); foreach (var gear in gears) { gear.Unlock(); } Log.Write("HANGAR GEARS UNLOCKED"); HangarGearsState = HangarState.Open; } else { MyAPIGateway.Utilities.ShowNotification("Landing Gears: Locking"); foreach (var gear in gears) { gear.Lock(); } Log.Write("HANGAR GEARS LOCKED"); HangarGearsState = HangarState.Closed; } }
public void Toggle(SpacePortGearsController ctrl) { SwitchGearsLock(ctrl, HangarGearsState != HangarState.Open); }
public void Close(SpacePortGearsController ctrl) { SwitchGearsLock(ctrl, false); }
public void Open(SpacePortGearsController ctrl) { SwitchGearsLock(ctrl, true); }