public static ApiShipMatter ToApiShipMatter(this ShipMatter shipMatter) { return(new ApiShipMatter { Fuel = shipMatter.Fuel, Engines = shipMatter.Engines, Lasers = shipMatter.Lasers, Radiators = shipMatter.Radiators }); }
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); }
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; }
public void AddMatter(ShipMatter matterToAdd) { Matter.AddMatter(matterToAdd); }