Fix planet orientations

This commit is contained in:
Nick 2022-03-11 22:10:30 -05:00
parent ace3755cc7
commit 70dc69033f
2 changed files with 48 additions and 0 deletions

View File

@ -203,6 +203,11 @@ namespace NewHorizons
if(scene.name == "SolarSystem") if(scene.name == "SolarSystem")
{ {
foreach(var body in GameObject.FindObjectsOfType<AstroObject>())
{
Logger.Log($"{body.name}, {body.transform.rotation}");
}
if(_ship != null) if(_ship != null)
{ {
_ship = GameObject.Find("Ship_Body").InstantiateInactive(); _ship = GameObject.Find("Ship_Body").InstantiateInactive();
@ -212,6 +217,7 @@ namespace NewHorizons
IsSystemReady = false; IsSystemReady = false;
HeavenlyBodyBuilder.Reset(); HeavenlyBodyBuilder.Reset();
CommonResourcesFix.Apply();
NewHorizonsData.Load(); NewHorizonsData.Load();
SignalBuilder.Init(); SignalBuilder.Init();
AstroObjectLocator.RefreshList(); AstroObjectLocator.RefreshList();

View File

@ -0,0 +1,42 @@
using PacificEngine.OW_CommonResources.Game.Resource;
using PacificEngine.OW_CommonResources.Game.State;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
namespace NewHorizons.Utility.CommonResources
{
public static class CommonResourcesFix
{
public static void Apply()
{
var mapping = Planet.defaultMapping;
var DB = mapping[HeavenlyBodies.DarkBramble];
mapping[HeavenlyBodies.DarkBramble] = new Planet.Plantoid(
DB.size,
DB.gravity,
DB.state.orbit.orientation.rotation * Quaternion.AngleAxis(180, Vector3.left),
DB.state.orbit.orientation.angularVelocity.magnitude,
DB.state.parent,
DB.state.orbit.coordinates
);
var TT = mapping[HeavenlyBodies.AshTwin];
mapping[HeavenlyBodies.AshTwin] = new Planet.Plantoid(
TT.size,
TT.gravity,
TT.state.orbit.orientation.rotation * Quaternion.AngleAxis(180, Vector3.left),
TT.state.orbit.orientation.angularVelocity.magnitude,
TT.state.parent,
TT.state.orbit.coordinates
);
Planet.defaultMapping = mapping;
Planet.mapping = mapping;
}
}
}