public void BurnFuel(V burnVelocityRelativeToShip) { var fuelToBurn = burnVelocityRelativeToShip.CLen; if (fuelToBurn == 0) { throw new InvalidOperationException("fuelToBurn == 0"); } if (fuelToBurn > MaxFuelBurnSpeed) { throw new InvalidOperationException($"fuelToBurn ({fuelToBurn}) > MaxFuelBurnSpeed ({MaxFuelBurnSpeed})"); } Matter.BurnFuel(fuelToBurn); Velocity -= burnVelocityRelativeToShip; Temperature += 4 << fuelToBurn; }