Exemple #1
0
        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;
        }