mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Make it nh ao
This commit is contained in:
parent
30a1039bc0
commit
bfffb8de04
@ -1,4 +1,6 @@
|
|||||||
using NewHorizons.Builder.Props;
|
using NewHorizons.Builder.Props;
|
||||||
|
using NewHorizons.Components.Orbital;
|
||||||
|
using NewHorizons.Handlers;
|
||||||
using NewHorizons.Utility;
|
using NewHorizons.Utility;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -43,10 +45,13 @@ namespace NewHorizons.Builder.Body
|
|||||||
|
|
||||||
// spawn the dimension body
|
// spawn the dimension body
|
||||||
var dimensionPrefab = SearchUtilities.Find("DB_HubDimension_Body");
|
var dimensionPrefab = SearchUtilities.Find("DB_HubDimension_Body");
|
||||||
var dimension = GameObject.Instantiate(dimensionPrefab);
|
var dimension = dimensionPrefab.InstantiateInactive();
|
||||||
var ao = dimension.GetComponent<AstroObject>();
|
|
||||||
|
PlanetCreationHandler.UpdateBodyOrbit(body, dimension);
|
||||||
|
|
||||||
// fix name
|
// fix name
|
||||||
|
var ao = dimension.GetComponent<NHAstroObject>();
|
||||||
|
ao.IsDimension = true;
|
||||||
var name = body.Config.name ?? "Custom Bramble Dimension";
|
var name = body.Config.name ?? "Custom Bramble Dimension";
|
||||||
ao._customName = name;
|
ao._customName = name;
|
||||||
ao._name = AstroObject.Name.CustomString;
|
ao._name = AstroObject.Name.CustomString;
|
||||||
@ -90,6 +95,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
fog.fogTint = body.Config.Bramble.dimension.fogTint.ToColor();
|
fog.fogTint = body.Config.Bramble.dimension.fogTint.ToColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dimension.SetActive(true);
|
||||||
|
|
||||||
return dimension;
|
return dimension;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
using NewHorizons.External.Modules;
|
using NewHorizons.External.Modules;
|
||||||
namespace NewHorizons.Components.Orbital
|
namespace NewHorizons.Components.Orbital
|
||||||
{
|
{
|
||||||
public class NHAstroObject : AstroObject, IOrbitalParameters
|
public class NHAstroObject : AstroObject, IOrbitalParameters
|
||||||
@ -10,6 +10,7 @@ namespace NewHorizons.Components.Orbital
|
|||||||
public float argumentOfPeriapsis { get; set; }
|
public float argumentOfPeriapsis { get; set; }
|
||||||
public float trueAnomaly { get; set; }
|
public float trueAnomaly { get; set; }
|
||||||
public bool HideDisplayName { get; set; }
|
public bool HideDisplayName { get; set; }
|
||||||
|
public bool IsDimension { get; set; }
|
||||||
|
|
||||||
public void SetOrbitalParametersFromConfig(OrbitModule orbit)
|
public void SetOrbitalParametersFromConfig(OrbitModule orbit)
|
||||||
{
|
{
|
||||||
|
|||||||
12
NewHorizons/External/Configs/PlanetConfig.cs
vendored
12
NewHorizons/External/Configs/PlanetConfig.cs
vendored
@ -6,6 +6,7 @@ using System.Linq;
|
|||||||
using NewHorizons.External.Modules;
|
using NewHorizons.External.Modules;
|
||||||
using NewHorizons.External.Modules.VariableSize;
|
using NewHorizons.External.Modules.VariableSize;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Logger = NewHorizons.Utility.Logger;
|
||||||
|
|
||||||
namespace NewHorizons.External.Configs
|
namespace NewHorizons.External.Configs
|
||||||
{
|
{
|
||||||
@ -175,13 +176,18 @@ namespace NewHorizons.External.Configs
|
|||||||
if (ReferenceFrame == null) ReferenceFrame = new ReferenceFrameModule();
|
if (ReferenceFrame == null) ReferenceFrame = new ReferenceFrameModule();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MigrateAndValidate()
|
public void Validate()
|
||||||
{
|
{
|
||||||
// Validate
|
// If we can correct a part of the config, do it
|
||||||
|
// If it cannot be solved, throw an exception
|
||||||
if (Base.centerOfSolarSystem) Orbit.isStatic = true;
|
if (Base.centerOfSolarSystem) Orbit.isStatic = true;
|
||||||
if (Atmosphere?.clouds?.lightningGradient != null) Atmosphere.clouds.hasLightning = true;
|
if (Atmosphere?.clouds?.lightningGradient != null) Atmosphere.clouds.hasLightning = true;
|
||||||
if (Bramble?.dimension != null && Orbit?.staticPosition == null) NewHorizons.Utility.Logger.LogError($"Dimension {name} must have Orbit.staticPosition defined.");
|
if (Bramble?.dimension != null && Orbit?.staticPosition == null) throw new Exception($"Dimension {name} must have Orbit.staticPosition defined.");
|
||||||
|
if (Orbit?.staticPosition != null) Orbit.isStatic = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Migrate()
|
||||||
|
{
|
||||||
// Backwards compatability
|
// Backwards compatability
|
||||||
// Should be the only place that obsolete things are referenced
|
// Should be the only place that obsolete things are referenced
|
||||||
#pragma warning disable 612, 618
|
#pragma warning disable 612, 618
|
||||||
|
|||||||
@ -239,10 +239,11 @@ namespace NewHorizons.Handlers
|
|||||||
GameObject planetObject = GenerateBody(body, defaultPrimaryToSun);
|
GameObject planetObject = GenerateBody(body, defaultPrimaryToSun);
|
||||||
if (planetObject == null) return false;
|
if (planetObject == null) return false;
|
||||||
planetObject.SetActive(true);
|
planetObject.SetActive(true);
|
||||||
var nhAO = planetObject.GetComponent<NHAstroObject>();
|
|
||||||
var owAO = planetObject.GetComponent<AstroObject>();
|
var ao = planetObject.GetComponent<NHAstroObject>();
|
||||||
if (nhAO != null) _dict.Add(nhAO, body);
|
|
||||||
else if (owAO != null) _dimensions.Add(owAO, body);
|
if (!ao.IsDimension) _dict.Add(ao, body);
|
||||||
|
else _dimensions.Add(ao, body);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@ -306,7 +307,7 @@ namespace NewHorizons.Handlers
|
|||||||
public static GameObject GenerateBrambleDimensionBody(NewHorizonsBody body)
|
public static GameObject GenerateBrambleDimensionBody(NewHorizonsBody body)
|
||||||
{
|
{
|
||||||
var go = BrambleDimensionBuilder.Make(body);
|
var go = BrambleDimensionBuilder.Make(body);
|
||||||
var ao = go.GetComponent<AstroObject>();
|
var ao = go.GetComponent<NHAstroObject>();
|
||||||
var sector = go.FindChild("Sector").GetComponent<Sector>();
|
var sector = go.FindChild("Sector").GetComponent<Sector>();
|
||||||
var owRigidBody = go.GetComponent<OWRigidbody>();
|
var owRigidBody = go.GetComponent<OWRigidbody>();
|
||||||
|
|
||||||
|
|||||||
@ -489,7 +489,8 @@ namespace NewHorizons
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Has to happen after we make sure theres a system config
|
// Has to happen after we make sure theres a system config
|
||||||
config.MigrateAndValidate();
|
config.Validate();
|
||||||
|
config.Migrate();
|
||||||
|
|
||||||
body = new NewHorizonsBody(config, mod, relativePath);
|
body = new NewHorizonsBody(config, mod, relativePath);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user