32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
namespace SpaceGame.Api.Shared.Runtime;
|
|
|
|
public static class SimulationUnits
|
|
{
|
|
public const float KilometersPerAu = 149_597_870.7f;
|
|
public const float MetersPerKilometer = 1000f;
|
|
|
|
public static float AuToKilometers(float au) => au * KilometersPerAu;
|
|
|
|
public static float KilometersToMeters(float kilometers) => kilometers * MetersPerKilometer;
|
|
|
|
public static float MetersToKilometers(float meters) => meters / MetersPerKilometer;
|
|
|
|
public static Vector3 KilometersToMeters(Vector3 kilometers) =>
|
|
new(
|
|
KilometersToMeters(kilometers.X),
|
|
KilometersToMeters(kilometers.Y),
|
|
KilometersToMeters(kilometers.Z));
|
|
|
|
public static Vector3 MetersToKilometers(Vector3 meters) =>
|
|
new(
|
|
MetersToKilometers(meters.X),
|
|
MetersToKilometers(meters.Y),
|
|
MetersToKilometers(meters.Z));
|
|
|
|
public static float AuPerSecondToKilometersPerSecond(float auPerSecond) =>
|
|
auPerSecond * KilometersPerAu;
|
|
|
|
public static float MetersPerSecondToKilometersPerSecond(float metersPerSecond) =>
|
|
metersPerSecond / MetersPerKilometer;
|
|
}
|