remove keepAutoPlacement (#544)

<!-- A new module or something else important -->
## Major features
-

<!-- A new parameter added to a module, or API feature -->
## Minor features
- use nullable values instead of separate keepAutoPlacement bool

<!-- Some improvement that requires no action on the part of add-on
creators i.e., improved star graphics -->
## Improvements
-

<!-- Be sure to reference the existing issue if it exists -->
## Bug fixes
-
This commit is contained in:
Nick 2023-03-22 17:47:48 -04:00 committed by GitHub
commit 43871a9206
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
39 changed files with 78 additions and 82 deletions

View File

@ -9,7 +9,7 @@ namespace NewHorizons.Builder.Atmosphere
{ {
var airGO = new GameObject("Air"); var airGO = new GameObject("Air");
airGO.SetActive(false); airGO.SetActive(false);
airGO.layer = LayerUtilities.BasicEffectVolume; airGO.layer = Layer.BasicEffectVolume;
airGO.transform.parent = sector?.transform ?? planetGO.transform; airGO.transform.parent = sector?.transform ?? planetGO.transform;
var sc = airGO.AddComponent<SphereCollider>(); var sc = airGO.AddComponent<SphereCollider>();

View File

@ -119,7 +119,7 @@ namespace NewHorizons.Builder.Atmosphere
GameObject cloudsFluidGO = new GameObject("CloudsFluid"); GameObject cloudsFluidGO = new GameObject("CloudsFluid");
cloudsFluidGO.SetActive(false); cloudsFluidGO.SetActive(false);
cloudsFluidGO.layer = LayerUtilities.BasicEffectVolume; cloudsFluidGO.layer = Layer.BasicEffectVolume;
cloudsFluidGO.transform.parent = cloudsMainGO.transform; cloudsFluidGO.transform.parent = cloudsMainGO.transform;
SphereCollider fluidSC = cloudsFluidGO.AddComponent<SphereCollider>(); SphereCollider fluidSC = cloudsFluidGO.AddComponent<SphereCollider>();
@ -252,7 +252,7 @@ namespace NewHorizons.Builder.Atmosphere
if (atmo.clouds.unlit) if (atmo.clouds.unlit)
{ {
cloudsTopGO.layer = LayerUtilities.IgnoreSun; cloudsTopGO.layer = Layer.IgnoreSun;
} }
if (atmo.clouds.rotationSpeed != 0f) if (atmo.clouds.rotationSpeed != 0f)
@ -304,7 +304,7 @@ namespace NewHorizons.Builder.Atmosphere
{ {
GameObject tcrqcGO = new GameObject("TransparentCloudRenderQueueController"); GameObject tcrqcGO = new GameObject("TransparentCloudRenderQueueController");
tcrqcGO.transform.SetParent(cloudsTransparentGO.transform, false); tcrqcGO.transform.SetParent(cloudsTransparentGO.transform, false);
tcrqcGO.layer = LayerUtilities.BasicEffectVolume; tcrqcGO.layer = Layer.BasicEffectVolume;
var shape = tcrqcGO.AddComponent<SphereShape>(); var shape = tcrqcGO.AddComponent<SphereShape>();
shape.radius = 1; shape.radius = 1;

View File

@ -31,7 +31,7 @@ namespace NewHorizons.Builder.Body
ringVolume.transform.localPosition = Vector3.zero; ringVolume.transform.localPosition = Vector3.zero;
ringVolume.transform.localScale = Vector3.one; ringVolume.transform.localScale = Vector3.one;
ringVolume.transform.localRotation = Quaternion.identity; ringVolume.transform.localRotation = Quaternion.identity;
ringVolume.layer = LayerUtilities.BasicEffectVolume; ringVolume.layer = Layer.BasicEffectVolume;
var ringShape = ringVolume.AddComponent<RingShape>(); var ringShape = ringVolume.AddComponent<RingShape>();
ringShape.innerRadius = ring.innerRadius; ringShape.innerRadius = ring.innerRadius;

View File

@ -183,7 +183,7 @@ namespace NewHorizons.Builder.Body
if (hasDestructionVolume || targetStarSystem != null) if (hasDestructionVolume || targetStarSystem != null)
{ {
var destructionVolumeGO = new GameObject("DestructionVolume"); var destructionVolumeGO = new GameObject("DestructionVolume");
destructionVolumeGO.layer = LayerUtilities.BasicEffectVolume; destructionVolumeGO.layer = Layer.BasicEffectVolume;
destructionVolumeGO.transform.parent = singularity.transform; destructionVolumeGO.transform.parent = singularity.transform;
destructionVolumeGO.transform.localScale = Vector3.one; destructionVolumeGO.transform.localScale = Vector3.one;
destructionVolumeGO.transform.localPosition = Vector3.zero; destructionVolumeGO.transform.localPosition = Vector3.zero;

View File

@ -123,7 +123,7 @@ namespace NewHorizons.Builder.Body
heatVolume.transform.SetParent(starGO.transform, false); heatVolume.transform.SetParent(starGO.transform, false);
heatVolume.transform.localPosition = Vector3.zero; heatVolume.transform.localPosition = Vector3.zero;
heatVolume.transform.localScale = Vector3.one; heatVolume.transform.localScale = Vector3.one;
heatVolume.layer = LayerUtilities.BasicEffectVolume; heatVolume.layer = Layer.BasicEffectVolume;
heatVolume.AddComponent<SphereShape>().radius = 1.1f; heatVolume.AddComponent<SphereShape>().radius = 1.1f;
heatVolume.AddComponent<OWTriggerVolume>(); heatVolume.AddComponent<OWTriggerVolume>();
heatVolume.AddComponent<HeatHazardVolume>()._damagePerSecond = 20f; heatVolume.AddComponent<HeatHazardVolume>()._damagePerSecond = 20f;
@ -133,7 +133,7 @@ namespace NewHorizons.Builder.Body
deathVolume.transform.SetParent(starGO.transform, false); deathVolume.transform.SetParent(starGO.transform, false);
deathVolume.transform.localPosition = Vector3.zero; deathVolume.transform.localPosition = Vector3.zero;
deathVolume.transform.localScale = Vector3.one; deathVolume.transform.localScale = Vector3.one;
deathVolume.layer = LayerUtilities.BasicEffectVolume; deathVolume.layer = Layer.BasicEffectVolume;
var sphereCollider = deathVolume.AddComponent<SphereCollider>(); var sphereCollider = deathVolume.AddComponent<SphereCollider>();
sphereCollider.radius = 1f; sphereCollider.radius = 1f;
sphereCollider.isTrigger = true; sphereCollider.isTrigger = true;
@ -149,7 +149,7 @@ namespace NewHorizons.Builder.Body
planetDestructionVolume.transform.SetParent(starGO.transform, false); planetDestructionVolume.transform.SetParent(starGO.transform, false);
planetDestructionVolume.transform.localPosition = Vector3.zero; planetDestructionVolume.transform.localPosition = Vector3.zero;
planetDestructionVolume.transform.localScale = Vector3.one; planetDestructionVolume.transform.localScale = Vector3.one;
planetDestructionVolume.layer = LayerUtilities.BasicEffectVolume; planetDestructionVolume.layer = Layer.BasicEffectVolume;
var planetSphereCollider = planetDestructionVolume.AddComponent<SphereCollider>(); var planetSphereCollider = planetDestructionVolume.AddComponent<SphereCollider>();
planetSphereCollider.radius = 0.8f; planetSphereCollider.radius = 0.8f;
planetSphereCollider.isTrigger = true; planetSphereCollider.isTrigger = true;
@ -446,7 +446,7 @@ namespace NewHorizons.Builder.Body
supernovaWallAudio.transform.SetParent(supernovaGO.transform, false); supernovaWallAudio.transform.SetParent(supernovaGO.transform, false);
supernovaWallAudio.transform.localPosition = Vector3.zero; supernovaWallAudio.transform.localPosition = Vector3.zero;
supernovaWallAudio.transform.localScale = Vector3.one; supernovaWallAudio.transform.localScale = Vector3.one;
supernovaWallAudio.layer = LayerUtilities.BasicEffectVolume; supernovaWallAudio.layer = Layer.BasicEffectVolume;
var audioSource = supernovaWallAudio.AddComponent<AudioSource>(); var audioSource = supernovaWallAudio.AddComponent<AudioSource>();
audioSource.loop = true; audioSource.loop = true;
audioSource.maxDistance = 2000; audioSource.maxDistance = 2000;

View File

@ -54,7 +54,7 @@ namespace NewHorizons.Builder.Body
// Don't ignore sun when not under clouds // Don't ignore sun when not under clouds
waterGO.layer = 0; waterGO.layer = 0;
Delay.FireOnNextUpdate(() => { if (planetGO.FindChild("Sector/SunOverride") != null) waterGO.layer = LayerUtilities.IgnoreSun; }); Delay.FireOnNextUpdate(() => { if (planetGO.FindChild("Sector/SunOverride") != null) waterGO.layer = Layer.IgnoreSun; });
TessellatedSphereRenderer TSR = waterGO.AddComponent<TessellatedSphereRenderer>(); TessellatedSphereRenderer TSR = waterGO.AddComponent<TessellatedSphereRenderer>();
TSR.tessellationMeshGroup = ScriptableObject.CreateInstance<MeshGroup>(); TSR.tessellationMeshGroup = ScriptableObject.CreateInstance<MeshGroup>();
@ -101,7 +101,7 @@ namespace NewHorizons.Builder.Body
var buoyancyObject = new GameObject("WaterVolume"); var buoyancyObject = new GameObject("WaterVolume");
buoyancyObject.transform.parent = waterGO.transform; buoyancyObject.transform.parent = waterGO.transform;
buoyancyObject.transform.localScale = Vector3.one; buoyancyObject.transform.localScale = Vector3.one;
buoyancyObject.layer = LayerUtilities.BasicEffectVolume; buoyancyObject.layer = Layer.BasicEffectVolume;
var sphereCollider = buoyancyObject.AddComponent<SphereCollider>(); var sphereCollider = buoyancyObject.AddComponent<SphereCollider>();
sphereCollider.radius = 1; sphereCollider.radius = 1;

View File

@ -82,7 +82,7 @@ namespace NewHorizons.Builder.General
detectorGO.SetActive(false); detectorGO.SetActive(false);
detectorGO.transform.parent = planetGO.transform; detectorGO.transform.parent = planetGO.transform;
detectorGO.transform.localPosition = Vector3.zero; detectorGO.transform.localPosition = Vector3.zero;
detectorGO.layer = LayerUtilities.BasicDetector; detectorGO.layer = Layer.BasicDetector;
ConstantForceDetector forceDetector = detectorGO.AddComponent<ConstantForceDetector>(); ConstantForceDetector forceDetector = detectorGO.AddComponent<ConstantForceDetector>();
forceDetector._inheritElement0 = true; forceDetector._inheritElement0 = true;
@ -91,7 +91,7 @@ namespace NewHorizons.Builder.General
// For falling into sun // For falling into sun
if (!config.Base.invulnerableToSun && config.Star == null && config.FocalPoint == null) if (!config.Base.invulnerableToSun && config.Star == null && config.FocalPoint == null)
{ {
detectorGO.layer = LayerUtilities.AdvancedDetector; detectorGO.layer = Layer.AdvancedDetector;
var fluidDetector = detectorGO.AddComponent<DynamicFluidDetector>(); var fluidDetector = detectorGO.AddComponent<DynamicFluidDetector>();
var sphereCollider = detectorGO.AddComponent<SphereCollider>(); var sphereCollider = detectorGO.AddComponent<SphereCollider>();

View File

@ -24,7 +24,7 @@ namespace NewHorizons.Builder.General
var gravityGO = new GameObject("GravityWell"); var gravityGO = new GameObject("GravityWell");
gravityGO.transform.parent = planetGO.transform; gravityGO.transform.parent = planetGO.transform;
gravityGO.transform.localPosition = Vector3.zero; gravityGO.transform.localPosition = Vector3.zero;
gravityGO.layer = LayerUtilities.BasicEffectVolume; gravityGO.layer = Layer.BasicEffectVolume;
gravityGO.SetActive(false); gravityGO.SetActive(false);
var SC = gravityGO.AddComponent<SphereCollider>(); var SC = gravityGO.AddComponent<SphereCollider>();

View File

@ -13,7 +13,7 @@ namespace NewHorizons.Builder.General
var rfGO = new GameObject("RFVolume"); var rfGO = new GameObject("RFVolume");
rfGO.transform.parent = planetGO.transform; rfGO.transform.parent = planetGO.transform;
rfGO.transform.localPosition = Vector3.zero; rfGO.transform.localPosition = Vector3.zero;
rfGO.layer = LayerUtilities.ReferenceFrameVolume; rfGO.layer = Layer.ReferenceFrameVolume;
rfGO.SetActive(false); rfGO.SetActive(false);
var SC = rfGO.AddComponent<SphereCollider>(); var SC = rfGO.AddComponent<SphereCollider>();

View File

@ -20,7 +20,7 @@ namespace NewHorizons.Builder.General
if (!Main.Instance.IsWarpingFromVessel && !Main.Instance.IsWarpingFromShip && module.playerSpawn != null) if (!Main.Instance.IsWarpingFromVessel && !Main.Instance.IsWarpingFromShip && module.playerSpawn != null)
{ {
GameObject spawnGO = GeneralPropBuilder.MakeNew("PlayerSpawnPoint", planetGO, null, module.playerSpawn); GameObject spawnGO = GeneralPropBuilder.MakeNew("PlayerSpawnPoint", planetGO, null, module.playerSpawn);
spawnGO.layer = LayerUtilities.PlayerSafetyCollider; spawnGO.layer = Layer.PlayerSafetyCollider;
playerSpawn = spawnGO.AddComponent<SpawnPoint>(); playerSpawn = spawnGO.AddComponent<SpawnPoint>();
playerSpawn._triggerVolumes = new OWTriggerVolume[0]; playerSpawn._triggerVolumes = new OWTriggerVolume[0];
@ -30,7 +30,7 @@ namespace NewHorizons.Builder.General
if (module.shipSpawn != null) if (module.shipSpawn != null)
{ {
GameObject spawnGO = GeneralPropBuilder.MakeNew("ShipSpawnPoint", planetGO, null, module.shipSpawn); GameObject spawnGO = GeneralPropBuilder.MakeNew("ShipSpawnPoint", planetGO, null, module.shipSpawn);
spawnGO.layer = LayerUtilities.PlayerSafetyCollider; spawnGO.layer = Layer.PlayerSafetyCollider;
var spawnPoint = spawnGO.AddComponent<SpawnPoint>(); var spawnPoint = spawnGO.AddComponent<SpawnPoint>();
spawnPoint._isShipSpawn = true; spawnPoint._isShipSpawn = true;
@ -55,7 +55,7 @@ namespace NewHorizons.Builder.General
Logger.LogVerbose("Overriding player spawn to be inside ship"); Logger.LogVerbose("Overriding player spawn to be inside ship");
GameObject playerSpawnGO = new GameObject("PlayerSpawnPoint"); GameObject playerSpawnGO = new GameObject("PlayerSpawnPoint");
playerSpawnGO.transform.parent = ship.transform; playerSpawnGO.transform.parent = ship.transform;
playerSpawnGO.layer = LayerUtilities.PlayerSafetyCollider; playerSpawnGO.layer = Layer.PlayerSafetyCollider;
playerSpawnGO.transform.localPosition = new Vector3(0, 0, 0); playerSpawnGO.transform.localPosition = new Vector3(0, 0, 0);

View File

@ -74,7 +74,7 @@ namespace NewHorizons.Builder.Props
{ {
var conversationZone = GeneralPropBuilder.MakeNew("ConversationZone", planetGO, sector, info, defaultParentPath: info.pathToAnimController); var conversationZone = GeneralPropBuilder.MakeNew("ConversationZone", planetGO, sector, info, defaultParentPath: info.pathToAnimController);
conversationZone.layer = LayerUtilities.Interactible; conversationZone.layer = Layer.Interactible;
var sphere = conversationZone.AddComponent<SphereCollider>(); var sphere = conversationZone.AddComponent<SphereCollider>();
sphere.radius = info.radius; sphere.radius = info.radius;
@ -215,7 +215,7 @@ namespace NewHorizons.Builder.Props
var playerTrackingZone = new GameObject("PlayerTrackingZone"); var playerTrackingZone = new GameObject("PlayerTrackingZone");
playerTrackingZone.SetActive(false); playerTrackingZone.SetActive(false);
playerTrackingZone.layer = LayerUtilities.BasicEffectVolume; playerTrackingZone.layer = Layer.BasicEffectVolume;
playerTrackingZone.SetActive(false); playerTrackingZone.SetActive(false);
var sphereCollider = playerTrackingZone.AddComponent<SphereCollider>(); var sphereCollider = playerTrackingZone.AddComponent<SphereCollider>();

View File

@ -704,9 +704,9 @@ namespace NewHorizons.Builder.Props
if (arcInfo.position == null) arc.transform.localPosition = Vector3.zero; if (arcInfo.position == null) arc.transform.localPosition = Vector3.zero;
else arc.transform.localPosition = new Vector3(arcInfo.position.x, arcInfo.position.y, 0); else arc.transform.localPosition = new Vector3(arcInfo.position.x, arcInfo.position.y, 0);
arc.transform.localRotation = Quaternion.Euler(0, 0, arcInfo.zRotation); arc.transform.localRotation = Quaternion.Euler(0, 0, arcInfo.zRotation.GetValueOrDefault());
if (arcInfo.mirror) arc.transform.localScale = new Vector3(-1, 1, 1); if (arcInfo.mirror.GetValueOrDefault()) arc.transform.localScale = new Vector3(-1, 1, 1);
} }
// Try auto I guess // Try auto I guess
else else

View File

@ -1,4 +1,5 @@
using NewHorizons.Builder.Body; using NewHorizons.Builder.Body;
using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.Builder.ShipLog; using NewHorizons.Builder.ShipLog;
using NewHorizons.External.Configs; using NewHorizons.External.Configs;
using NewHorizons.Utility; using NewHorizons.Utility;

View File

@ -1,3 +1,4 @@
using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Handlers; using NewHorizons.Handlers;
using NewHorizons.Utility; using NewHorizons.Utility;
@ -87,7 +88,7 @@ namespace NewHorizons.Builder.Props
if (_shareStonePrefab == null) if (_shareStonePrefab == null)
{ {
GameObject stone = new GameObject("ShareStoneFallback"); GameObject stone = new GameObject("ShareStoneFallback");
stone.layer = LayerUtilities.Interactible; stone.layer = Layer.Interactible;
stone.SetActive(false); stone.SetActive(false);
SphereCollider sc = stone.AddComponent<SphereCollider>(); SphereCollider sc = stone.AddComponent<SphereCollider>();
sc.center = Vector3.zero; sc.center = Vector3.zero;

View File

@ -112,7 +112,7 @@ namespace NewHorizons.Builder.Props
public static GameObject Make(GameObject planetGO, Sector sector, SignalModule.SignalInfo info, IModBehaviour mod) public static GameObject Make(GameObject planetGO, Sector sector, SignalModule.SignalInfo info, IModBehaviour mod)
{ {
var signalGO = GeneralPropBuilder.MakeNew($"Signal_{info.name}", planetGO, sector, info); var signalGO = GeneralPropBuilder.MakeNew($"Signal_{info.name}", planetGO, sector, info);
signalGO.layer = LayerUtilities.AdvancedEffectVolume; signalGO.layer = Layer.AdvancedEffectVolume;
var source = signalGO.AddComponent<AudioSource>(); var source = signalGO.AddComponent<AudioSource>();
var owAudioSource = signalGO.AddComponent<OWAudioSource>(); var owAudioSource = signalGO.AddComponent<OWAudioSource>();

View File

@ -4,7 +4,7 @@ using System.Linq;
using UnityEngine; using UnityEngine;
using Logger = NewHorizons.Utility.Logger; using Logger = NewHorizons.Utility.Logger;
namespace NewHorizons.Builder.Props namespace NewHorizons.Builder.Props.TranslatorText
{ {
public class NomaiTextArcArranger : MonoBehaviour public class NomaiTextArcArranger : MonoBehaviour
{ {

View File

@ -1,9 +1,8 @@
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Props namespace NewHorizons.Builder.Props.TranslatorText
{ {
public static class NomaiTextArcBuilder { public static class NomaiTextArcBuilder {
// TODO: stranger arcs // TODO: stranger arcs

View File

@ -14,7 +14,7 @@ using UnityEngine;
using Logger = NewHorizons.Utility.Logger; using Logger = NewHorizons.Utility.Logger;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
namespace NewHorizons.Builder.Props namespace NewHorizons.Builder.Props.TranslatorText
{ {
public static class TranslatorTextBuilder public static class TranslatorTextBuilder
{ {
@ -539,16 +539,16 @@ namespace NewHorizons.Builder.Props
var arcInfo = info.arcInfo[j]; var arcInfo = info.arcInfo[j];
var arc = arranger.spirals[j]; var arc = arranger.spirals[j];
if (arcInfo.keepAutoPlacement) continue; if (arcInfo.position != null) arc.transform.localPosition = new Vector3(arcInfo.position.x, arcInfo.position.y, 0);
if (arcInfo.position == null) arc.transform.localPosition = Vector3.zero; if (arcInfo.zRotation != null) arc.transform.localRotation = Quaternion.Euler(0, 0, arcInfo.zRotation.Value);
else arc.transform.localPosition = new Vector3(arcInfo.position.x, arcInfo.position.y, 0);
arc.transform.localRotation = Quaternion.Euler(0, 0, arcInfo.zRotation); if (arcInfo.mirror != null)
{
if (arcInfo.mirror) arc.transform.localScale = new Vector3(-1, 1, 1); if (arcInfo.mirror.Value) arc.transform.localScale = new Vector3(-1, 1, 1);
else arc.transform.localScale = new Vector3(1, 1, 1); else arc.transform.localScale = new Vector3(1, 1, 1);
} }
}
// make an entry in the cache for all these spirals // make an entry in the cache for all these spirals

View File

@ -93,7 +93,7 @@ namespace NewHorizons.Builder.ShipLog
private static void MakeObservable(GameObject go, Sector sector, VolumesModule.RevealVolumeInfo info, IModBehaviour mod) private static void MakeObservable(GameObject go, Sector sector, VolumesModule.RevealVolumeInfo info, IModBehaviour mod)
{ {
go.layer = LayerUtilities.Interactible; go.layer = Layer.Interactible;
var sphere = go.AddComponent<SphereCollider>(); var sphere = go.AddComponent<SphereCollider>();
sphere.radius = info.radius; sphere.radius = info.radius;

View File

@ -33,7 +33,7 @@ namespace NewHorizons.Builder.StarSystem
var skySphere = new GameObject("Sky Sphere"); var skySphere = new GameObject("Sky Sphere");
skySphere.transform.SetParent(skybox.transform, false); skySphere.transform.SetParent(skybox.transform, false);
skySphere.layer = LayerUtilities.Skybox; skySphere.layer = Layer.Skybox;
skySphere.transform.localScale = Vector3.one * 5f; skySphere.transform.localScale = Vector3.one * 5f;
BuildSkySphereFace(skySphere, "Right", Quaternion.Euler(0f, 90f, 0f), mesh, rightTex); BuildSkySphereFace(skySphere, "Right", Quaternion.Euler(0f, 90f, 0f), mesh, rightTex);
@ -56,7 +56,7 @@ namespace NewHorizons.Builder.StarSystem
var go = new GameObject(name) var go = new GameObject(name)
{ {
layer = LayerUtilities.Skybox layer = Layer.Skybox
}; };
var mf = go.AddComponent<MeshFilter>(); var mf = go.AddComponent<MeshFilter>();

View File

@ -19,7 +19,7 @@ namespace NewHorizons.Builder.Volumes
public static AudioVolume Make(GameObject planetGO, Sector sector, VolumesModule.AudioVolumeInfo info, IModBehaviour mod) public static AudioVolume Make(GameObject planetGO, Sector sector, VolumesModule.AudioVolumeInfo info, IModBehaviour mod)
{ {
var go = GeneralPropBuilder.MakeNew("AudioVolume", planetGO, sector, info); var go = GeneralPropBuilder.MakeNew("AudioVolume", planetGO, sector, info);
go.layer = LayerUtilities.AdvancedEffectVolume; go.layer = Layer.AdvancedEffectVolume;
var audioSource = go.AddComponent<AudioSource>(); var audioSource = go.AddComponent<AudioSource>();

View File

@ -16,7 +16,7 @@ namespace NewHorizons.Builder.Volumes
public static HazardVolume Make(GameObject planetGO, Sector sector, OWRigidbody owrb, VolumesModule.HazardVolumeInfo info, IModBehaviour mod) public static HazardVolume Make(GameObject planetGO, Sector sector, OWRigidbody owrb, VolumesModule.HazardVolumeInfo info, IModBehaviour mod)
{ {
var go = GeneralPropBuilder.MakeNew("HazardVolume", planetGO, sector, info); var go = GeneralPropBuilder.MakeNew("HazardVolume", planetGO, sector, info);
go.layer = LayerUtilities.BasicEffectVolume; go.layer = Layer.BasicEffectVolume;
var shape = go.AddComponent<SphereShape>(); var shape = go.AddComponent<SphereShape>();
shape.radius = info.radius; shape.radius = info.radius;
@ -51,7 +51,7 @@ namespace NewHorizons.Builder.Volumes
var detectorGO = new GameObject("ConstantFluidDetector"); var detectorGO = new GameObject("ConstantFluidDetector");
detectorGO.transform.parent = go.transform; detectorGO.transform.parent = go.transform;
detectorGO.transform.localPosition = Vector3.zero; detectorGO.transform.localPosition = Vector3.zero;
detectorGO.layer = LayerUtilities.BasicDetector; detectorGO.layer = Layer.BasicDetector;
var detector = detectorGO.AddComponent<ConstantFluidDetector>(); var detector = detectorGO.AddComponent<ConstantFluidDetector>();
detector._onlyDetectableFluid = water; detector._onlyDetectableFluid = water;
detector._buoyancy.boundingRadius = 1; detector._buoyancy.boundingRadius = 1;

View File

@ -19,7 +19,7 @@ namespace NewHorizons.Builder.Volumes
public static NHNotificationVolume Make(GameObject planetGO, Sector sector, VolumesModule.NotificationVolumeInfo info, IModBehaviour mod) public static NHNotificationVolume Make(GameObject planetGO, Sector sector, VolumesModule.NotificationVolumeInfo info, IModBehaviour mod)
{ {
var go = GeneralPropBuilder.MakeNew("NotificationVolume", planetGO, sector, info); var go = GeneralPropBuilder.MakeNew("NotificationVolume", planetGO, sector, info);
go.layer = LayerUtilities.BasicEffectVolume; go.layer = Layer.BasicEffectVolume;
var shape = go.AddComponent<SphereShape>(); var shape = go.AddComponent<SphereShape>();
shape.radius = info.radius; shape.radius = info.radius;

View File

@ -1,7 +1,7 @@
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Volumes namespace NewHorizons.Builder.Volumes.Rulesets
{ {
public static class PlayerImpactRulesetBuilder public static class PlayerImpactRulesetBuilder
{ {

View File

@ -1,7 +1,7 @@
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Volumes namespace NewHorizons.Builder.Volumes.Rulesets
{ {
public static class ProbeRulesetBuilder public static class ProbeRulesetBuilder
{ {

View File

@ -1,7 +1,7 @@
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Volumes namespace NewHorizons.Builder.Volumes.Rulesets
{ {
public static class ThrustRulesetBuilder public static class ThrustRulesetBuilder
{ {

View File

@ -12,7 +12,7 @@ namespace NewHorizons.Builder.Volumes
public static TVolume Make<TVolume>(GameObject planetGO, Sector sector, VolumesModule.VanishVolumeInfo info) where TVolume : VanishVolume public static TVolume Make<TVolume>(GameObject planetGO, Sector sector, VolumesModule.VanishVolumeInfo info) where TVolume : VanishVolume
{ {
var go = GeneralPropBuilder.MakeNew(typeof(TVolume).Name, planetGO, sector, info); var go = GeneralPropBuilder.MakeNew(typeof(TVolume).Name, planetGO, sector, info);
go.layer = LayerUtilities.BasicEffectVolume; go.layer = Layer.BasicEffectVolume;
var collider = go.AddComponent<SphereCollider>(); var collider = go.AddComponent<SphereCollider>();
collider.isTrigger = true; collider.isTrigger = true;

View File

@ -1,7 +1,7 @@
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Volumes namespace NewHorizons.Builder.Volumes.VisorEffects
{ {
public static class VisorFrostEffectVolumeBuilder public static class VisorFrostEffectVolumeBuilder
{ {

View File

@ -1,7 +1,7 @@
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Volumes namespace NewHorizons.Builder.Volumes.VisorEffects
{ {
public static class VisorRainEffectVolumeBuilder public static class VisorRainEffectVolumeBuilder
{ {

View File

@ -12,7 +12,7 @@ namespace NewHorizons.Builder.Volumes
public static TVolume Make<TVolume>(GameObject planetGO, Sector sector, VolumesModule.VolumeInfo info) where TVolume : MonoBehaviour //Could be BaseVolume but I need to create vanilla volumes too. public static TVolume Make<TVolume>(GameObject planetGO, Sector sector, VolumesModule.VolumeInfo info) where TVolume : MonoBehaviour //Could be BaseVolume but I need to create vanilla volumes too.
{ {
var go = GeneralPropBuilder.MakeNew(typeof(TVolume).Name, planetGO, sector, info); var go = GeneralPropBuilder.MakeNew(typeof(TVolume).Name, planetGO, sector, info);
go.layer = LayerUtilities.BasicEffectVolume; go.layer = Layer.BasicEffectVolume;
var shape = go.AddComponent<SphereShape>(); var shape = go.AddComponent<SphereShape>();
shape.radius = info.radius; shape.radius = info.radius;

View File

@ -1,6 +1,8 @@
using NewHorizons.Builder.Body; using NewHorizons.Builder.Body;
using NewHorizons.Builder.ShipLog; using NewHorizons.Builder.ShipLog;
using NewHorizons.Builder.Volumes; using NewHorizons.Builder.Volumes;
using NewHorizons.Builder.Volumes.Rulesets;
using NewHorizons.Builder.Volumes.VisorEffects;
using NewHorizons.Components.Volumes; using NewHorizons.Components.Volumes;
using NewHorizons.External.Configs; using NewHorizons.External.Configs;
using OWML.Common; using OWML.Common;

View File

@ -21,7 +21,7 @@ namespace NewHorizons.Components.Achievement
private void Reset() private void Reset()
{ {
gameObject.layer = LayerUtilities.Interactible; gameObject.layer = Layer.Interactible;
} }
private void Awake() private void Awake()

View File

@ -39,7 +39,7 @@ public class AddPhysics : MonoBehaviour
var owRigidbody = bodyGo.AddComponent<OWRigidbody>(); var owRigidbody = bodyGo.AddComponent<OWRigidbody>();
owRigidbody._simulateInSector = Sector; owRigidbody._simulateInSector = Sector;
bodyGo.layer = LayerUtilities.PhysicalDetector; bodyGo.layer = Layer.PhysicalDetector;
bodyGo.tag = "DynamicPropDetector"; bodyGo.tag = "DynamicPropDetector";
// this collider is not included in groups. oh well // this collider is not included in groups. oh well
bodyGo.AddComponent<SphereCollider>().radius = Radius; bodyGo.AddComponent<SphereCollider>().radius = Radius;

View File

@ -1,6 +1,4 @@
using NewHorizons.Utility; namespace NewHorizons.Components
namespace NewHorizons.Components.Orbital
{ {
public class EyeAstroObject : AstroObject public class EyeAstroObject : AstroObject
{ {

View File

@ -592,17 +592,12 @@ namespace NewHorizons.External.Modules
} }
/// <summary> /// <summary>
/// Whether to skip modifying this spiral's placement, and instead keep the automatically determined placement. /// Whether to flip the spiral from left-curling to right-curling or vice versa. If not specified, will use auto spiral generated value.
/// </summary> /// </summary>
public bool keepAutoPlacement; public bool? mirror;
/// <summary> /// <summary>
/// Whether to flip the spiral from left-curling to right-curling or vice versa. /// The local position of this object on the wall. If not specified, will use auto spiral generated value.
/// </summary>
public bool mirror;
/// <summary>
/// The local position of this object on the wall.
/// </summary> /// </summary>
public MVector2 position; public MVector2 position;
@ -614,12 +609,13 @@ namespace NewHorizons.External.Modules
/// <summary> /// <summary>
/// Which variation of the chosen type to place. If not specified, a random variation will be selected based on the seed provided in the parent module. /// Which variation of the chosen type to place. If not specified, a random variation will be selected based on the seed provided in the parent module.
/// </summary> /// </summary>
[Obsolete("only used in old nomai text")]
[DefaultValue(-1)] public int variation = -1; [DefaultValue(-1)] public int variation = -1;
/// <summary> /// <summary>
/// The z euler angle for this arc. /// The z euler angle for this arc. If not specified, will use auto spiral generated value.
/// </summary> /// </summary>
[Range(0f, 360f)] public float zRotation; [Range(0f, 360f)] public float? zRotation;
} }
[JsonObject] [JsonObject]

View File

@ -3,6 +3,7 @@ using NewHorizons.Builder.Atmosphere;
using NewHorizons.Builder.Body; using NewHorizons.Builder.Body;
using NewHorizons.Builder.General; using NewHorizons.Builder.General;
using NewHorizons.Builder.Props; using NewHorizons.Builder.Props;
using NewHorizons.Builder.Props.TranslatorText;
using NewHorizons.Components; using NewHorizons.Components;
using NewHorizons.Components.Fixers; using NewHorizons.Components.Fixers;
using NewHorizons.Components.SizeControllers; using NewHorizons.Components.SizeControllers;

View File

@ -1457,16 +1457,15 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"keepAutoPlacement": {
"type": "boolean",
"description": "Whether to skip modifying this spiral's placement, and instead keep the automatically determined placement."
},
"mirror": { "mirror": {
"type": "boolean", "type": [
"description": "Whether to flip the spiral from left-curling to right-curling or vice versa." "boolean",
"null"
],
"description": "Whether to flip the spiral from left-curling to right-curling or vice versa. If not specified, will use auto spiral generated value."
}, },
"position": { "position": {
"description": "The local position of this object on the wall.", "description": "The local position of this object on the wall. If not specified, will use auto spiral generated value.",
"$ref": "#/definitions/MVector2" "$ref": "#/definitions/MVector2"
}, },
"type": { "type": {
@ -1474,15 +1473,12 @@
"default": "adult", "default": "adult",
"$ref": "#/definitions/NomaiTextArcType" "$ref": "#/definitions/NomaiTextArcType"
}, },
"variation": {
"type": "integer",
"description": "Which variation of the chosen type to place. If not specified, a random variation will be selected based on the seed provided in the parent module.",
"format": "int32",
"default": -1
},
"zRotation": { "zRotation": {
"type": "number", "type": [
"description": "The z euler angle for this arc.", "null",
"number"
],
"description": "The z euler angle for this arc. If not specified, will use auto spiral generated value.",
"format": "float", "format": "float",
"maximum": 360.0, "maximum": 360.0,
"minimum": 0.0 "minimum": 0.0

View File

@ -1,5 +1,7 @@
using System; using System;
namespace NewHorizons;
/// <summary> /// <summary>
/// denotes that the given type is used in the unity project /// denotes that the given type is used in the unity project
/// and therefore caution should be used when moving/renaming/deleting /// and therefore caution should be used when moving/renaming/deleting

View File

@ -2,11 +2,11 @@ using UnityEngine;
namespace NewHorizons.Utility.OWUtilities namespace NewHorizons.Utility.OWUtilities
{ {
public static class LayerUtilities public static class Layer
{ {
public static int Default = LayerMask.NameToLayer(nameof(Default)); public static int Default = LayerMask.NameToLayer(nameof(Default));
public static int TransparentFX = LayerMask.NameToLayer(nameof(TransparentFX)); public static int TransparentFX = LayerMask.NameToLayer(nameof(TransparentFX));
public static int IgnoreRaycast = LayerMask.NameToLayer(nameof(IgnoreRaycast)); public static int IgnoreRaycast = LayerMask.NameToLayer("Ignore Raycast");
public static int Water = LayerMask.NameToLayer(nameof(Water)); public static int Water = LayerMask.NameToLayer(nameof(Water));
public static int UI = LayerMask.NameToLayer(nameof(UI)); public static int UI = LayerMask.NameToLayer(nameof(UI));
public static int PlayerSafetyCollider = LayerMask.NameToLayer(nameof(PlayerSafetyCollider)); public static int PlayerSafetyCollider = LayerMask.NameToLayer(nameof(PlayerSafetyCollider));