Пример #1
0
 internal ModuleInfoEvent InvokeEvent(ModuleInfoEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         ModuleInfo?.Invoke(_api, arg);
     }
     return(arg);
 }
Пример #2
0
 internal void InvokeModuleInfoEvent(ModuleInfoEvent arg)
 {
     ModuleInfoEvent?.Invoke(this, arg);
 }
Пример #3
0
        private void handleModuleInfoEvent(ModuleInfoEvent @event)
        {
            Ship ship = GetCurrentShip();

            ModuleInfoReader info = ModuleInfoReader.FromFile();

            if (info != null)
            {
                for (int i = 0; i < info.Modules.Count(); i++)
                {
                    int     position = i + 1;
                    int     priority = info.Modules[i].priority + 1;
                    decimal power    = info.Modules[i].power;

                    string slot = info.Modules[i].slot;
                    switch (slot)
                    {
                    case "CargoHatch":
                    {
                        ship.cargohatch.position = position;
                        ship.cargohatch.priority = priority;
                        ship.cargohatch.power    = power;
                    }
                    break;

                    case "FrameShiftDrive":
                    {
                        ship.frameshiftdrive.position = position;
                        ship.frameshiftdrive.priority = priority;
                        ship.frameshiftdrive.power    = power;
                    }
                    break;

                    case "LifeSupport":
                    {
                        ship.lifesupport.position = position;
                        ship.lifesupport.priority = priority;
                        ship.lifesupport.power    = power;
                    }
                    break;

                    case "MainEngines":
                    {
                        ship.thrusters.position = position;
                        ship.thrusters.priority = priority;
                        ship.thrusters.power    = power;
                    }
                    break;

                    case "PowerDistributor":
                    {
                        ship.powerdistributor.position = position;
                        ship.powerdistributor.priority = priority;
                        ship.powerdistributor.power    = power;
                    }
                    break;

                    case "PowerPlant":
                    {
                        ship.powerplant.position = position;
                        ship.powerplant.priority = priority;
                        ship.powerplant.power    = power;
                    }
                    break;

                    case "Radar":
                    {
                        ship.sensors.position = position;
                        ship.sensors.priority = priority;
                        ship.sensors.power    = power;
                    }
                    break;

                    case "ShipCockpit":
                    {
                        ship.canopy.position = position;
                        ship.canopy.priority = priority;
                        ship.canopy.power    = power;
                    }
                    break;
                    }

                    if (slot.Contains("Slot"))
                    {
                        Compartment compartment = ship.compartments.FirstOrDefault(c => c.name == slot);
                        if (compartment != null)
                        {
                            compartment.module.position = position;
                            compartment.module.priority = priority;
                            compartment.module.power    = power;
                        }
                    }
                    else if (slot.Contains("Hardpoint"))
                    {
                        Hardpoint hardpoint = ship.hardpoints.FirstOrDefault(h => h.name == slot);
                        if (hardpoint != null)
                        {
                            hardpoint.module.position = position;
                            hardpoint.module.priority = priority;
                            hardpoint.module.power    = power;
                        }
                    }
                }
                writeShips();
            }
        }
Пример #4
0
 internal void InvokeModuleEventEvent(ModuleInfoEvent arg) => ModuleEventEvent?.Invoke(null, arg);
Пример #5
0
 private void AssertEvent(ModuleInfoEvent @event)
 {
     Assert.NotNull(@event);
     Assert.Equal(DateTime.Parse("2017-08-14T15:41:50Z"), @event.Timestamp);
     Assert.Equal(EventName, @event.Event);
 }