public static ApiShipMatter ToApiShipMatter(this ShipMatter shipMatter)
 {
     return(new ApiShipMatter
     {
         Fuel = shipMatter.Fuel,
         Engines = shipMatter.Engines,
         Lasers = shipMatter.Lasers,
         Radiators = shipMatter.Radiators
     });
 }
Ejemplo n.º 2
0
        public Ship Split(int newShipId, ShipMatter newShipMatter)
        {
            var newShip = new Ship(OwnerPlayerId,
                                   newShipId,
                                   MaxFuelBurnSpeed,
                                   newShipMatter.Clone(),
                                   Position,
                                   Velocity,
                                   CriticalTemperature,
                                   0);

            Matter.RemoveMatter(newShipMatter);
            return(newShip);
        }
Ejemplo n.º 3
0
        public Ship(int ownerPlayerId, int uid, int maxFuelBurnSpeed, ShipMatter matter, V position, V velocity, int criticalTemperature, int temperature)
        {
            if (maxFuelBurnSpeed <= 0)
            {
                throw new InvalidOperationException($"maxFuelBurnSpeed ({maxFuelBurnSpeed}) <= 0");
            }
            if (temperature < 0)
            {
                throw new InvalidOperationException($"temperature ({temperature}) < 0");
            }

            OwnerPlayerId       = ownerPlayerId;
            Uid                 = uid;
            MaxFuelBurnSpeed    = maxFuelBurnSpeed;
            Matter              = matter;
            Temperature         = temperature;
            CriticalTemperature = criticalTemperature;
            Position            = position;
            Velocity            = velocity;
        }
Ejemplo n.º 4
0
 public void AddMatter(ShipMatter matterToAdd)
 {
     Matter.AddMatter(matterToAdd);
 }