make IOrbitalParameters lowercase

This commit is contained in:
JohnCorby 2022-05-22 16:29:02 -07:00
parent 5fad2dc1ee
commit 9668f68a63
11 changed files with 68 additions and 67 deletions

View File

@ -41,11 +41,11 @@ namespace NewHorizons.Builder.Body
config.Orbit = new OrbitModule()
{
IsMoon = true,
Inclination = belt.inclination + Random.Range(-2f, 2f),
LongitudeOfAscendingNode = belt.longitudeOfAscendingNode,
TrueAnomaly = 360f * (i + Random.Range(-0.2f, 0.2f)) / (float)count,
inclination = belt.inclination + Random.Range(-2f, 2f),
longitudeOfAscendingNode = belt.longitudeOfAscendingNode,
trueAnomaly = 360f * (i + Random.Range(-0.2f, 0.2f)) / (float)count,
PrimaryBody = bodyName,
SemiMajorAxis = Random.Range(belt.innerRadius, belt.outerRadius),
semiMajorAxis = Random.Range(belt.innerRadius, belt.outerRadius),
ShowOrbitLine = false
};

View File

@ -28,8 +28,8 @@ namespace NewHorizons.Builder.General
if (primaryBody?.gameObject?.GetComponent<SphereCollider>() != null && !config.Orbit.IsStatic)
{
var primarySphereOfInfluence = primaryBody.GetGravityVolume().gameObject.GetComponent<SphereCollider>();
if (primarySphereOfInfluence.radius < config.Orbit.SemiMajorAxis)
primarySphereOfInfluence.radius = config.Orbit.SemiMajorAxis * 1.5f;
if (primarySphereOfInfluence.radius < config.Orbit.semiMajorAxis)
primarySphereOfInfluence.radius = config.Orbit.semiMajorAxis * 1.5f;
}
if (config.Orbit.IsTidallyLocked)

View File

@ -108,18 +108,18 @@ namespace NewHorizons.Builder.Orbital
}
// Update the positions
var distance = secondaryBody.SemiMajorAxis + primaryBody.SemiMajorAxis;
var distance = secondaryBody.semiMajorAxis + primaryBody.semiMajorAxis;
var m1 = primaryGravity.Mass;
var m2 = secondaryGravity.Mass;
var r1 = distance * m2 / (m1 + m2);
var r2 = distance * m1 / (m1 + m2);
var ecc = secondaryBody.Eccentricity;
var inc = secondaryBody.Inclination;
var arg = secondaryBody.ArgumentOfPeriapsis;
var lon = secondaryBody.LongitudeOfAscendingNode;
var tru = secondaryBody.TrueAnomaly;
var ecc = secondaryBody.eccentricity;
var inc = secondaryBody.inclination;
var arg = secondaryBody.argumentOfPeriapsis;
var lon = secondaryBody.longitudeOfAscendingNode;
var tru = secondaryBody.trueAnomaly;
// Update their astro objects
primaryBody.SetOrbitalParametersFromTrueAnomaly(ecc, r1, inc, arg, lon, tru - 180);

View File

@ -32,7 +32,7 @@ namespace NewHorizons.Builder.Orbital
var numVerts = config.Orbit.DottedOrbitLine ? 128 : 256;
lineRenderer.positionCount = numVerts;
var ecc = config.Orbit.Eccentricity;
var ecc = config.Orbit.eccentricity;
var parentGravity = astroObject.GetPrimaryBody()?.GetGravityVolume();
@ -45,12 +45,12 @@ namespace NewHorizons.Builder.Orbital
{
orbitLine = orbitGO.AddComponent<NHOrbitLine>();
var a = astroObject.SemiMajorAxis;
var e = astroObject.Eccentricity;
var a = astroObject.semiMajorAxis;
var e = astroObject.eccentricity;
var b = a * Mathf.Sqrt(1f - (e * e));
var l = astroObject.LongitudeOfAscendingNode;
var p = astroObject.ArgumentOfPeriapsis;
var i = astroObject.Inclination;
var l = astroObject.longitudeOfAscendingNode;
var p = astroObject.argumentOfPeriapsis;
var i = astroObject.inclination;
(orbitLine as NHOrbitLine).SemiMajorAxis = a * OrbitalParameters.Rotate(Vector3.left, l, i, p);
(orbitLine as NHOrbitLine).SemiMinorAxis = b * OrbitalParameters.Rotate(Vector3.forward, l, i, p);
@ -84,7 +84,7 @@ namespace NewHorizons.Builder.Orbital
orbitLine._lineWidth = 0.2f;
orbitLine._numVerts = (int)Mathf.Clamp(config.Orbit.SemiMajorAxis / 1000f, numVerts, 4096);
orbitLine._numVerts = (int)Mathf.Clamp(config.Orbit.semiMajorAxis / 1000f, numVerts, 4096);
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(orbitLine.InitializeLineRenderer);

View File

@ -365,7 +365,7 @@ namespace NewHorizons.Builder.ShipLog
{
foreach (NewHorizonsBody body in bodies.Where(b => b.Config.Base.centerOfSolarSystem))
{
bodies.Sort((b, o) => b.Config.Orbit.SemiMajorAxis.CompareTo(o.Config.Orbit.SemiMajorAxis));
bodies.Sort((b, o) => b.Config.Orbit.semiMajorAxis.CompareTo(o.Config.Orbit.semiMajorAxis));
MapModeObject newNode = new MapModeObject
{
mainBody = body,

View File

@ -2,12 +2,13 @@
{
public interface IOrbitalParameters
{
float Inclination { get; set; }
float SemiMajorAxis { get; set; }
float LongitudeOfAscendingNode { get; set; }
float Eccentricity { get; set; }
float ArgumentOfPeriapsis { get; set; }
float TrueAnomaly { get; set; }
// lowercase cuz schema
float inclination { get; set; }
float semiMajorAxis { get; set; }
float longitudeOfAscendingNode { get; set; }
float eccentricity { get; set; }
float argumentOfPeriapsis { get; set; }
float trueAnomaly { get; set; }
OrbitalParameters GetOrbitalParameters(Gravity primaryGravity, Gravity secondaryGravity);
}

View File

@ -3,38 +3,38 @@ namespace NewHorizons.Components.Orbital
{
public class NHAstroObject : AstroObject, IOrbitalParameters
{
public float Inclination { get; set; }
public float SemiMajorAxis { get; set; }
public float LongitudeOfAscendingNode { get; set; }
public float Eccentricity { get; set; }
public float ArgumentOfPeriapsis { get; set; }
public float TrueAnomaly { get; set; }
public float inclination { get; set; }
public float semiMajorAxis { get; set; }
public float longitudeOfAscendingNode { get; set; }
public float eccentricity { get; set; }
public float argumentOfPeriapsis { get; set; }
public float trueAnomaly { get; set; }
public bool HideDisplayName { get; set; }
public void SetOrbitalParametersFromConfig(OrbitModule orbit)
{
SetOrbitalParametersFromTrueAnomaly(orbit.Eccentricity, orbit.SemiMajorAxis, orbit.Inclination, orbit.ArgumentOfPeriapsis, orbit.LongitudeOfAscendingNode, orbit.TrueAnomaly);
SetOrbitalParametersFromTrueAnomaly(orbit.eccentricity, orbit.semiMajorAxis, orbit.inclination, orbit.argumentOfPeriapsis, orbit.longitudeOfAscendingNode, orbit.trueAnomaly);
}
public void SetOrbitalParametersFromTrueAnomaly(float ecc, float a, float i, float p, float l, float trueAnomaly)
{
Inclination = ecc;
SemiMajorAxis = a;
LongitudeOfAscendingNode = l;
Inclination = i;
Eccentricity = ecc;
ArgumentOfPeriapsis = p;
TrueAnomaly = trueAnomaly;
inclination = ecc;
semiMajorAxis = a;
longitudeOfAscendingNode = l;
inclination = i;
eccentricity = ecc;
argumentOfPeriapsis = p;
this.trueAnomaly = trueAnomaly;
}
public override string ToString()
{
return $"ParameterizedAstroObject: Eccentricity {Eccentricity}, SemiMajorAxis {SemiMajorAxis}, Inclination {Inclination}, ArgumentOfPeriapsis {ArgumentOfPeriapsis}, LongitudeOfAscendingNode {LongitudeOfAscendingNode}, TrueAnomaly {TrueAnomaly}";
return $"ParameterizedAstroObject: Eccentricity {eccentricity}, SemiMajorAxis {semiMajorAxis}, Inclination {inclination}, ArgumentOfPeriapsis {argumentOfPeriapsis}, LongitudeOfAscendingNode {longitudeOfAscendingNode}, TrueAnomaly {trueAnomaly}";
}
public OrbitalParameters GetOrbitalParameters(Gravity primaryGravity, Gravity secondaryGravity)
{
return OrbitalParameters.FromTrueAnomaly(primaryGravity, secondaryGravity, Eccentricity, SemiMajorAxis, Inclination, ArgumentOfPeriapsis, LongitudeOfAscendingNode, TrueAnomaly);
return OrbitalParameters.FromTrueAnomaly(primaryGravity, secondaryGravity, eccentricity, semiMajorAxis, inclination, argumentOfPeriapsis, longitudeOfAscendingNode, trueAnomaly);
}
}
}

View File

@ -4,12 +4,12 @@ namespace NewHorizons.Components.Orbital
{
public class OrbitalParameters : IOrbitalParameters
{
public float Inclination { get; set; }
public float SemiMajorAxis { get; set; }
public float LongitudeOfAscendingNode { get; set; }
public float Eccentricity { get; set; }
public float ArgumentOfPeriapsis { get; set; }
public float TrueAnomaly { get; set; }
public float inclination { get; set; }
public float semiMajorAxis { get; set; }
public float longitudeOfAscendingNode { get; set; }
public float eccentricity { get; set; }
public float argumentOfPeriapsis { get; set; }
public float trueAnomaly { get; set; }
public float Period { get; set; }
public Vector3 InitialPosition { get; private set; }
@ -19,11 +19,11 @@ namespace NewHorizons.Components.Orbital
public static OrbitalParameters FromTrueAnomaly(Gravity primaryGravity, Gravity secondaryGravity, float eccentricity, float semiMajorAxis, float inclination, float argumentOfPeriapsis, float longitudeOfAscendingNode, float trueAnomaly)
{
var orbitalParameters = new OrbitalParameters();
orbitalParameters.Inclination = inclination;
orbitalParameters.SemiMajorAxis = semiMajorAxis;
orbitalParameters.LongitudeOfAscendingNode = longitudeOfAscendingNode;
orbitalParameters.Eccentricity = eccentricity;
orbitalParameters.ArgumentOfPeriapsis = argumentOfPeriapsis;
orbitalParameters.inclination = inclination;
orbitalParameters.semiMajorAxis = semiMajorAxis;
orbitalParameters.longitudeOfAscendingNode = longitudeOfAscendingNode;
orbitalParameters.eccentricity = eccentricity;
orbitalParameters.argumentOfPeriapsis = argumentOfPeriapsis;
// If primary gravity is linear and the orbit is eccentric its not even an ellipse so theres no true anomaly
if (primaryGravity.Power == 1 && eccentricity != 0)
@ -31,7 +31,7 @@ namespace NewHorizons.Components.Orbital
trueAnomaly = 0;
}
orbitalParameters.TrueAnomaly = trueAnomaly;
orbitalParameters.trueAnomaly = trueAnomaly;
// Have to calculate the rest
@ -110,7 +110,7 @@ namespace NewHorizons.Components.Orbital
public OrbitalParameters GetOrbitalParameters(Gravity primaryGravity, Gravity secondaryGravity)
{
return FromTrueAnomaly(primaryGravity, secondaryGravity, Eccentricity, SemiMajorAxis, Inclination, ArgumentOfPeriapsis, LongitudeOfAscendingNode, TrueAnomaly);
return FromTrueAnomaly(primaryGravity, secondaryGravity, eccentricity, semiMajorAxis, inclination, argumentOfPeriapsis, longitudeOfAscendingNode, trueAnomaly);
}
}
}

View File

@ -79,7 +79,7 @@ namespace NewHorizons.Components
// Figure out what the new orbit will be if we switch
var newOrbit = newState.orbit ?? groundState.orbit;
newOrbit.TrueAnomaly = Random.Range(0f, 360f);
newOrbit.trueAnomaly = Random.Range(0f, 360f);
primaryBody = AstroObjectLocator.GetAstroObject(newOrbit.PrimaryBody);
var primaryGravity = new Gravity(primaryBody.GetGravityVolume());
@ -131,7 +131,7 @@ namespace NewHorizons.Components
_detector._activeVolumes = new List<EffectVolume>() { primaryBody.GetGravityVolume() };
if (_alignment != null) _alignment.SetTargetBody(primaryBody.GetComponent<OWRigidbody>());
_astroObject.SetOrbitalParametersFromTrueAnomaly(orbitalParameters.Eccentricity, orbitalParameters.SemiMajorAxis, orbitalParameters.Inclination, orbitalParameters.ArgumentOfPeriapsis, orbitalParameters.LongitudeOfAscendingNode, orbitalParameters.TrueAnomaly);
_astroObject.SetOrbitalParametersFromTrueAnomaly(orbitalParameters.eccentricity, orbitalParameters.semiMajorAxis, orbitalParameters.inclination, orbitalParameters.argumentOfPeriapsis, orbitalParameters.longitudeOfAscendingNode, orbitalParameters.trueAnomaly);
PlanetCreationHandler.UpdatePosition(gameObject, orbitalParameters, primaryBody, _astroObject);

View File

@ -66,40 +66,40 @@ namespace NewHorizons.External.Modules
/// <summary>
/// The semi-major axis of the ellipse that is the body's orbit. For a circular orbit this is the radius.
/// </summary>
public float SemiMajorAxis { get; set; }
public float semiMajorAxis { get; set; }
/// <summary>
/// The angle (in degrees) between the body's orbit and the plane of the star system
/// </summary>
public float Inclination { get; set; }
public float inclination { get; set; }
/// <summary>
/// An angle (in degrees) defining the point where the orbit of the body rises above the orbital plane if it has
/// nonzero inclination.
/// </summary>
public float LongitudeOfAscendingNode { get; set; }
public float longitudeOfAscendingNode { get; set; }
/// <summary>
/// At 0 the orbit is a circle. The closer to 1 it is, the more oval-shaped the orbit is.
/// </summary>
// FIXME: Needs Min & Max!
public float Eccentricity { get; set; }
public float eccentricity { get; set; }
/// <summary>
/// An angle (in degrees) defining the location of the periapsis (the closest distance to it's primary body) if it has
/// nonzero eccentricity.
/// </summary>
public float ArgumentOfPeriapsis { get; set; }
public float argumentOfPeriapsis { get; set; }
/// <summary>
/// Where the planet should start off in its orbit in terms of the central angle.
/// </summary>
public float TrueAnomaly { get; set; }
public float trueAnomaly { get; set; }
public OrbitalParameters GetOrbitalParameters(Gravity primaryGravity, Gravity secondaryGravity)
{
return OrbitalParameters.FromTrueAnomaly(primaryGravity, secondaryGravity, Eccentricity, SemiMajorAxis,
Inclination, ArgumentOfPeriapsis, LongitudeOfAscendingNode, TrueAnomaly);
return OrbitalParameters.FromTrueAnomaly(primaryGravity, secondaryGravity, eccentricity, semiMajorAxis,
inclination, argumentOfPeriapsis, longitudeOfAscendingNode, trueAnomaly);
}
}
}

View File

@ -187,7 +187,7 @@ namespace NewHorizons.Handlers
if (sector.transform.childCount == 0) sector = quantumPlanet.groundState.sector;
// If semimajor axis is 0 then forget the orbit
var orbit = body.Config.Orbit.SemiMajorAxis == 0 ? quantumPlanet.groundState.orbit : body.Config.Orbit;
var orbit = body.Config.Orbit.semiMajorAxis == 0 ? quantumPlanet.groundState.orbit : body.Config.Orbit;
quantumPlanet.states.Add(new QuantumPlanet.State(sector, orbit));
}
@ -243,7 +243,7 @@ namespace NewHorizons.Handlers
var rb = go.GetAttachedOWRigidbody();
// Since orbits are always there just check if they set a semi major axis
if (body.Config.Orbit != null && body.Config.Orbit.SemiMajorAxis != 0f)
if (body.Config.Orbit != null && body.Config.Orbit.semiMajorAxis != 0f)
{
UpdateBodyOrbit(body, go);
}