Beispiel #1
0
        private void ChangeLights(SpacePortHangarLightsController ctrl, SignalType signalType)
        {
            //Log.Write("There is {0} lights totally", Entities.InteriorLights.Count);
            //Log.Write("There is {0} pistons in group {1} totally", Entities.InteriorLights.Count(p => p.HangarCode == _sensor.HangarCode), _sensor.HangarCode);
            //Log.Write("There is {0} lights totally with signalType {1}", Entities.InteriorLights.Count(i => i.HangarCode == _sensor.HangarCode && i.SignalType == signalType), signalType);
            //Log.Write("There is {0} lights totally with other signalType than {1}", Entities.InteriorLights.Count(i => i.HangarCode == _sensor.HangarCode && i.SignalType != signalType), signalType);

            var lightsToTurnOn =
                Entities.InteriorLights.Where(
                    p => p.Entity.CustomName.StartsWith(Constants.SpacePortPrefix, StringComparison.OrdinalIgnoreCase))
                .Where(p => p.HangarCode.Equals(_sensor.HangarCode, StringComparison.OrdinalIgnoreCase))
                .Where(p => p.SignalType == signalType)
                .ToList();

            var lightsToTurnOf =
                Entities.InteriorLights.Where(
                    p => p.Entity.CustomName.StartsWith(Constants.SpacePortPrefix, StringComparison.OrdinalIgnoreCase))
                .Where(p => p.HangarCode.Equals(_sensor.HangarCode, StringComparison.OrdinalIgnoreCase))
                .Where(p => p.SignalType != signalType)
                .ToList();

            foreach (var interiorLight in lightsToTurnOn)
            {
                interiorLight.TurnOn();
            }

            foreach (var interiorLight in lightsToTurnOf)
            {
                interiorLight.TurnOff();
            }

            MyAPIGateway.Utilities.ShowNotification(string.Format("Hangar with code {0} is {1}", _sensor.HangarCode, signalType));
        }
Beispiel #2
0
 public void ToggleGreen(SpacePortHangarLightsController ctrl)
 {
     ChangeLights(ctrl, SignalType.Free);
 }
Beispiel #3
0
 public void ToggleRed(SpacePortHangarLightsController ctrl)
 {
     ChangeLights(ctrl, SignalType.Busy);
 }