mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Fix quantum planet NRE
This commit is contained in:
parent
e55818bfb8
commit
92634dade1
@ -22,6 +22,16 @@ namespace NewHorizons.Components.Quantum
|
|||||||
private OWRigidbody _rb;
|
private OWRigidbody _rb;
|
||||||
private OrbitLine _orbitLine;
|
private OrbitLine _orbitLine;
|
||||||
|
|
||||||
|
public NHAstroObject astroObject
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_astroObject == null)
|
||||||
|
_astroObject = GetComponent<NHAstroObject>();
|
||||||
|
return _astroObject;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public int CurrentIndex { get; private set; }
|
public int CurrentIndex { get; private set; }
|
||||||
|
|
||||||
public override void Awake()
|
public override void Awake()
|
||||||
@ -97,7 +107,7 @@ namespace NewHorizons.Components.Quantum
|
|||||||
|
|
||||||
primaryBody = AstroObjectLocator.GetAstroObject(newOrbit.primaryBody);
|
primaryBody = AstroObjectLocator.GetAstroObject(newOrbit.primaryBody);
|
||||||
var primaryGravity = new Gravity(primaryBody.GetGravityVolume());
|
var primaryGravity = new Gravity(primaryBody.GetGravityVolume());
|
||||||
var secondaryGravity = new Gravity(_astroObject.GetGravityVolume());
|
var secondaryGravity = new Gravity(astroObject.GetGravityVolume());
|
||||||
orbitalParams = newOrbit.GetOrbitalParameters(primaryGravity, secondaryGravity);
|
orbitalParams = newOrbit.GetOrbitalParameters(primaryGravity, secondaryGravity);
|
||||||
|
|
||||||
var pos = primaryBody.transform.position + orbitalParams.InitialPosition;
|
var pos = primaryBody.transform.position + orbitalParams.InitialPosition;
|
||||||
@ -139,15 +149,15 @@ namespace NewHorizons.Components.Quantum
|
|||||||
|
|
||||||
private void SetNewOrbit(AstroObject primaryBody, OrbitalParameters orbitalParameters)
|
private void SetNewOrbit(AstroObject primaryBody, OrbitalParameters orbitalParameters)
|
||||||
{
|
{
|
||||||
_astroObject._primaryBody = primaryBody;
|
astroObject._primaryBody = primaryBody;
|
||||||
DetectorBuilder.SetDetector(primaryBody, _astroObject, _detector);
|
DetectorBuilder.SetDetector(primaryBody, astroObject, _detector);
|
||||||
_detector._activeInheritedDetector = primaryBody.GetComponentInChildren<ForceDetector>();
|
_detector._activeInheritedDetector = primaryBody.GetComponentInChildren<ForceDetector>();
|
||||||
_detector._activeVolumes = new List<EffectVolume>() { primaryBody.GetGravityVolume() };
|
_detector._activeVolumes = new List<EffectVolume>() { primaryBody.GetGravityVolume() };
|
||||||
if (_alignment != null) _alignment.SetTargetBody(primaryBody.GetComponent<OWRigidbody>());
|
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);
|
PlanetCreationHandler.UpdatePosition(gameObject, orbitalParameters, primaryBody, astroObject);
|
||||||
|
|
||||||
if (!Physics.autoSyncTransforms)
|
if (!Physics.autoSyncTransforms)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user