Rearrange components, add comet tail controller

This commit is contained in:
Nick 2023-03-25 22:11:05 -04:00
parent 5dd8e8db4e
commit 64e2e3ce19
36 changed files with 105 additions and 39 deletions

View File

@ -1,4 +1,5 @@
using NewHorizons.Components; using NewHorizons.Components;
using NewHorizons.Components.Sectored;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.Utility.Files; using NewHorizons.Utility.Files;

View File

@ -1,6 +1,6 @@
using NewHorizons.Builder.Props; using NewHorizons.Builder.Props;
using NewHorizons.Components;
using NewHorizons.Components.Orbital; using NewHorizons.Components.Orbital;
using NewHorizons.Components.Sectored;
using NewHorizons.External; using NewHorizons.External;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.External.Modules.Props; using NewHorizons.External.Modules.Props;

View File

@ -1,4 +1,4 @@
using NewHorizons.Components; using NewHorizons.Components.Sectored;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.Utility.Files; using NewHorizons.Utility.Files;

View File

@ -1,6 +1,9 @@
using NewHorizons.Components.SizeControllers;
using NewHorizons.External.Configs; using NewHorizons.External.Configs;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.Utility.OuterWilds;
using NewHorizons.Utility.OWML;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Builder.Body namespace NewHorizons.Builder.Body
@ -14,17 +17,24 @@ namespace NewHorizons.Builder.Body
if (_tailPrefab == null) _tailPrefab = SearchUtilities.Find("Comet_Body/Sector_CO/Effects_CO/Effects_CO_TailMeshes").InstantiateInactive().Rename("Prefab_CO_Tail").DontDestroyOnLoad(); if (_tailPrefab == null) _tailPrefab = SearchUtilities.Find("Comet_Body/Sector_CO/Effects_CO/Effects_CO_TailMeshes").InstantiateInactive().Rename("Prefab_CO_Tail").DontDestroyOnLoad();
} }
public static void Make(GameObject planetGO, Sector sector, CometTailModule cometTailModule, float surfaceSize) public static void Make(GameObject planetGO, Sector sector, CometTailModule cometTailModule, PlanetConfig config)
{ {
var cometTail = GameObject.Instantiate(_tailPrefab, sector?.transform ?? planetGO.transform); var cometTail = GameObject.Instantiate(_tailPrefab, sector?.transform ?? planetGO.transform);
cometTail.transform.position = planetGO.transform.position; cometTail.transform.position = planetGO.transform.position;
cometTail.name = "CometTail"; cometTail.name = "CometTail";
cometTail.transform.localScale = Vector3.one * (cometTailModule.innerRadius ?? surfaceSize) / 110;
var alignment = new Vector3(0, 270, 90); var controller = cometTail.AddComponent<CometTailController>();
if (cometTailModule.rotationOverride != null) alignment = cometTailModule.rotationOverride;
cometTail.transform.rotation = Quaternion.Euler(alignment); controller.size = (cometTailModule.innerRadius ?? config.Base.surfaceSize) / 110;
if (cometTailModule.rotationOverride != null) controller.SetRotationOverride(cometTailModule.rotationOverride);
if (string.IsNullOrEmpty(cometTailModule.primaryBody)) cometTailModule.primaryBody = config.Orbit.primaryBody;
Delay.FireOnNextUpdate(() =>
{
controller.SetPrimaryBody(AstroObjectLocator.GetAstroObject(cometTailModule.primaryBody).transform);
});
cometTail.SetActive(true); cometTail.SetActive(true);
} }

View File

@ -1,6 +1,7 @@
using NewHorizons.Builder.Atmosphere; using NewHorizons.Builder.Atmosphere;
using NewHorizons.Builder.Props; using NewHorizons.Builder.Props;
using NewHorizons.Components; using NewHorizons.Components;
using NewHorizons.Components.Props;
using NewHorizons.Components.SizeControllers; using NewHorizons.Components.SizeControllers;
using NewHorizons.External; using NewHorizons.External;
using NewHorizons.External.Modules.VariableSize; using NewHorizons.External.Modules.VariableSize;
@ -196,7 +197,7 @@ namespace NewHorizons.Builder.Body
if (body.Config.CometTail != null) if (body.Config.CometTail != null)
{ {
CometTailBuilder.Make(proxy, null, body.Config.CometTail, body.Config.Base.surfaceSize); CometTailBuilder.Make(proxy, null, body.Config.CometTail, body.Config);
} }
if (body.Config.Props?.proxyDetails != null) if (body.Config.Props?.proxyDetails != null)

View File

@ -4,6 +4,7 @@ using NewHorizons.Components.Volumes;
using NewHorizons.External.Modules; using NewHorizons.External.Modules;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.Utility.Files; using NewHorizons.Utility.Files;
using NewHorizons.Utility.Geometry;
using NewHorizons.Utility.OuterWilds; using NewHorizons.Utility.OuterWilds;
using NewHorizons.Utility.OWML; using NewHorizons.Utility.OWML;
using OWML.Common; using OWML.Common;

View File

@ -1,10 +1,10 @@
using UnityEngine; using UnityEngine;
using NewHorizons.Utility; using NewHorizons.Utility;
using NewHorizons.External.Configs; using NewHorizons.External.Configs;
using NewHorizons.Components;
using System.Linq; using System.Linq;
using OWML.Common; using OWML.Common;
using NewHorizons.Utility.Files; using NewHorizons.Utility.Files;
using NewHorizons.Components.Props;
namespace NewHorizons.Builder.Body namespace NewHorizons.Builder.Body
{ {

View File

@ -18,7 +18,7 @@ namespace NewHorizons.Builder.General
var type = AstroObject.Type.Planet; var type = AstroObject.Type.Planet;
if (config.Orbit.isMoon) type = AstroObject.Type.Moon; if (config.Orbit.isMoon) type = AstroObject.Type.Moon;
// else if (config.Base.IsSatellite) type = AstroObject.Type.Satellite; // else if (config.Base.IsSatellite) type = AstroObject.Type.Satellite;
else if (config.Base.hasCometTail) type = AstroObject.Type.Comet; else if (config.CometTail != null) type = AstroObject.Type.Comet;
else if (config.Star != null) type = AstroObject.Type.Star; else if (config.Star != null) type = AstroObject.Type.Star;
else if (config.FocalPoint != null) type = AstroObject.Type.None; else if (config.FocalPoint != null) type = AstroObject.Type.None;
astroObject._type = type; astroObject._type = type;

View File

@ -1,4 +1,4 @@
using NewHorizons.Components; using NewHorizons.Components.Props;
using NewHorizons.External.Modules.Props.Dialogue; using NewHorizons.External.Modules.Props.Dialogue;
using NewHorizons.Handlers; using NewHorizons.Handlers;
using NewHorizons.Utility; using NewHorizons.Utility;

View File

@ -1,4 +1,4 @@
using NewHorizons.Components; using NewHorizons.Components.Props;
using NewHorizons.External.Modules.Props; using NewHorizons.External.Modules.Props;
using NewHorizons.Handlers; using NewHorizons.Handlers;
using NewHorizons.Utility; using NewHorizons.Utility;

View File

@ -1,4 +1,4 @@
namespace NewHorizons.Components namespace NewHorizons.Components.EyeOfTheUniverse
{ {
public class EyeAstroObject : AstroObject public class EyeAstroObject : AstroObject
{ {

View File

@ -1,4 +1,4 @@
namespace NewHorizons.Components namespace NewHorizons.Components.EyeOfTheUniverse
{ {
/* /*
public class EyeSunLightParamUpdater : MonoBehaviour public class EyeSunLightParamUpdater : MonoBehaviour

View File

@ -1,3 +1,4 @@
using NewHorizons.Components.Props;
using NewHorizons.Components.SizeControllers; using NewHorizons.Components.SizeControllers;
using NewHorizons.Handlers; using NewHorizons.Handlers;
using NewHorizons.Utility.OuterWilds; using NewHorizons.Utility.OuterWilds;

View File

@ -1,4 +1,4 @@
namespace NewHorizons.Components namespace NewHorizons.Components.Props
{ {
public class NHCharacterDialogueTree : CharacterDialogueTree public class NHCharacterDialogueTree : CharacterDialogueTree
{ {

View File

@ -3,7 +3,7 @@ using NewHorizons.Handlers;
using UnityEngine; using UnityEngine;
using static SupernovaPlanetEffectController; using static SupernovaPlanetEffectController;
namespace NewHorizons.Components namespace NewHorizons.Components.Props
{ {
public class NHSupernovaPlanetEffectController : MonoBehaviour public class NHSupernovaPlanetEffectController : MonoBehaviour
{ {

View File

@ -1,6 +1,6 @@
using UnityEngine; using UnityEngine;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
namespace NewHorizons.Components namespace NewHorizons.Components.Props
{ {
public class NHTornadoWanderController : MonoBehaviour public class NHTornadoWanderController : MonoBehaviour
{ {

View File

@ -1,6 +1,6 @@
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components namespace NewHorizons.Components.Sectored
{ {
public class BrambleSectorController : MonoBehaviour, ISectorGroup public class BrambleSectorController : MonoBehaviour, ISectorGroup
{ {

View File

@ -1,5 +1,5 @@
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components namespace NewHorizons.Components.Sectored
{ {
public class CloakSectorController : MonoBehaviour public class CloakSectorController : MonoBehaviour
{ {

View File

@ -1,6 +1,6 @@
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components namespace NewHorizons.Components.Sectored
{ {
[RequireComponent(typeof(TessellatedSphereRenderer))] [RequireComponent(typeof(TessellatedSphereRenderer))]
public class CloakedTessSphereSectorToggle : SectoredMonoBehaviour public class CloakedTessSphereSectorToggle : SectoredMonoBehaviour

View File

@ -0,0 +1,40 @@
using UnityEngine;
namespace NewHorizons.Components.SizeControllers
{
public class CometTailController : SizeController
{
private Transform _primaryBody;
private OWRigidbody _body;
private bool _hasRotationOverride;
private bool _hasPrimaryBody;
public void Start()
{
_body = transform.GetAttachedOWRigidbody();
}
public override void FixedUpdate()
{
base.FixedUpdate();
if (!_hasRotationOverride && _hasPrimaryBody)
{
transform.LookAt(_primaryBody, _body.GetVelocity().normalized);
}
}
public void SetRotationOverride(Vector3 eulerAngles)
{
_hasRotationOverride = true;
transform.localRotation = Quaternion.Euler(eulerAngles);
}
public void SetPrimaryBody(Transform primaryBody)
{
_hasPrimaryBody = true;
_primaryBody = primaryBody;
}
}
}

View File

@ -8,7 +8,7 @@ namespace NewHorizons.Components.SizeControllers
public Material material; public Material material;
public Material proxyMaterial; public Material proxyMaterial;
protected new void FixedUpdate() public override void FixedUpdate()
{ {
base.FixedUpdate(); base.FixedUpdate();

View File

@ -1,6 +1,6 @@
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components namespace NewHorizons.Components.Vessel
{ {
[UsedInUnityProject] [UsedInUnityProject]
public class VesselOrbLocker : MonoBehaviour public class VesselOrbLocker : MonoBehaviour

View File

@ -1,6 +1,6 @@
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components namespace NewHorizons.Components.Vessel
{ {
[UsedInUnityProject] [UsedInUnityProject]
public class VesselSingularityRoot : MonoBehaviour public class VesselSingularityRoot : MonoBehaviour

View File

@ -21,5 +21,10 @@ namespace NewHorizons.External.Modules
/// Inner radius of the comet tail, defaults to match surfaceSize /// Inner radius of the comet tail, defaults to match surfaceSize
/// </summary> /// </summary>
public float? innerRadius; public float? innerRadius;
/// <summary>
/// The body that the comet tail should always point away from
/// </summary>
public string primaryBody;
} }
} }

View File

@ -1,5 +1,5 @@
using NewHorizons.Builder.General; using NewHorizons.Builder.General;
using NewHorizons.Components; using NewHorizons.Components.EyeOfTheUniverse;
using NewHorizons.Components.Stars; using NewHorizons.Components.Stars;
using NewHorizons.External.SerializableData; using NewHorizons.External.SerializableData;
using NewHorizons.Utility; using NewHorizons.Utility;

View File

@ -601,7 +601,7 @@ namespace NewHorizons.Handlers
if (body.Config.CometTail != null) if (body.Config.CometTail != null)
{ {
CometTailBuilder.Make(go, sector, body.Config.CometTail, body.Config.Base.surfaceSize); CometTailBuilder.Make(go, sector, body.Config.CometTail, body.Config);
} }
if (body.Config.Lava != null) if (body.Config.Lava != null)

View File

@ -1,4 +1,4 @@
using NewHorizons.Components; using NewHorizons.Components.Props;
using NewHorizons.Components.SizeControllers; using NewHorizons.Components.SizeControllers;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;

View File

@ -1,11 +1,12 @@
using UnityEngine; using UnityEngine;
using NewHorizons.Components;
using NewHorizons.Utility; using NewHorizons.Utility;
using static NewHorizons.Main; using static NewHorizons.Main;
using NewHorizons.Builder.Props; using NewHorizons.Builder.Props;
using NewHorizons.Utility.OWML; using NewHorizons.Utility.OWML;
using NewHorizons.Utility.OuterWilds; using NewHorizons.Utility.OuterWilds;
using NewHorizons.Components.Vessel;
using NewHorizons.Components.EyeOfTheUniverse;
namespace NewHorizons.Handlers namespace NewHorizons.Handlers
{ {

View File

@ -4,7 +4,6 @@ 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.Builder.Props.TranslatorText;
using NewHorizons.Components;
using NewHorizons.Components.Fixers; using NewHorizons.Components.Fixers;
using NewHorizons.Components.SizeControllers; using NewHorizons.Components.SizeControllers;
using NewHorizons.External; using NewHorizons.External;
@ -32,6 +31,7 @@ using UnityEngine.SceneManagement;
using NewHorizons.Utility.DebugTools; using NewHorizons.Utility.DebugTools;
using NewHorizons.Utility.DebugTools.Menu; using NewHorizons.Utility.DebugTools.Menu;
using NewHorizons.Components.Ship;
namespace NewHorizons namespace NewHorizons
{ {

View File

@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components.Sectored;
using NewHorizons.Handlers; using NewHorizons.Handlers;
namespace NewHorizons.Patches.CameraPatches namespace NewHorizons.Patches.CameraPatches
@ -10,7 +11,7 @@ namespace NewHorizons.Patches.CameraPatches
[HarmonyPatch(nameof(ProbeCamera.HasInterference))] [HarmonyPatch(nameof(ProbeCamera.HasInterference))]
public static void ProbeCamera_HasInterference(ProbeCamera __instance, ref bool __result) public static void ProbeCamera_HasInterference(ProbeCamera __instance, ref bool __result)
{ {
__result = __result || (__instance._id != ProbeCamera.ID.PreLaunch && (Components.CloakSectorController.isPlayerInside != Components.CloakSectorController.isProbeInside || !InterferenceHandler.IsPlayerSameAsProbe())); __result = __result || (__instance._id != ProbeCamera.ID.PreLaunch && (CloakSectorController.isPlayerInside != CloakSectorController.isProbeInside || !InterferenceHandler.IsPlayerSameAsProbe()));
} }
} }
} }

View File

@ -1,7 +1,7 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components;
using NewHorizons.OtherMods.AchievementsPlus.NH; using NewHorizons.OtherMods.AchievementsPlus.NH;
using NewHorizons.OtherMods.AchievementsPlus; using NewHorizons.OtherMods.AchievementsPlus;
using NewHorizons.Components.Props;
namespace NewHorizons.Patches.DialoguePatches; namespace NewHorizons.Patches.DialoguePatches;

View File

@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components.Sectored;
namespace NewHorizons.Patches.EchoesOfTheEyePatches namespace NewHorizons.Patches.EchoesOfTheEyePatches
{ {
@ -16,21 +17,21 @@ namespace NewHorizons.Patches.EchoesOfTheEyePatches
[HarmonyPatch(nameof(CloakFieldController.isPlayerInsideCloak), MethodType.Getter)] [HarmonyPatch(nameof(CloakFieldController.isPlayerInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isPlayerInsideCloak(ref bool __result) public static void CloakFieldController_isPlayerInsideCloak(ref bool __result)
{ {
__result = __result || Components.CloakSectorController.isPlayerInside; __result = __result || CloakSectorController.isPlayerInside;
} }
[HarmonyPostfix] [HarmonyPostfix]
[HarmonyPatch(nameof(CloakFieldController.isProbeInsideCloak), MethodType.Getter)] [HarmonyPatch(nameof(CloakFieldController.isProbeInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isProbeInsideCloak(ref bool __result) public static void CloakFieldController_isProbeInsideCloak(ref bool __result)
{ {
__result = __result || Components.CloakSectorController.isProbeInside; __result = __result || CloakSectorController.isProbeInside;
} }
[HarmonyPostfix] [HarmonyPostfix]
[HarmonyPatch(nameof(CloakFieldController.isShipInsideCloak), MethodType.Getter)] [HarmonyPatch(nameof(CloakFieldController.isShipInsideCloak), MethodType.Getter)]
public static void CloakFieldController_isShipInsideCloak(ref bool __result) public static void CloakFieldController_isShipInsideCloak(ref bool __result)
{ {
__result = __result || Components.CloakSectorController.isShipInside; __result = __result || CloakSectorController.isShipInside;
} }
} }
} }

View File

@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components.Sectored;
using NewHorizons.Handlers; using NewHorizons.Handlers;
namespace NewHorizons.Patches.HUDPatches namespace NewHorizons.Patches.HUDPatches
@ -30,7 +31,7 @@ namespace NewHorizons.Patches.HUDPatches
bool insideQM = __instance._quantumMoon != null && (__instance._quantumMoon.IsPlayerInside() || __instance._quantumMoon.IsProbeInside()); bool insideQM = __instance._quantumMoon != null && (__instance._quantumMoon.IsPlayerInside() || __instance._quantumMoon.IsProbeInside());
bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside == Locator.GetRingWorldController().isProbeInside; bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside == Locator.GetRingWorldController().isProbeInside;
bool insideIP = Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isProbeInsideCloak; bool insideIP = Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isProbeInsideCloak;
bool insideCloak = Components.CloakSectorController.isPlayerInside == Components.CloakSectorController.isProbeInside; bool insideCloak = CloakSectorController.isPlayerInside == CloakSectorController.isProbeInside;
bool sameInterference = InterferenceHandler.IsPlayerSameAsProbe(); bool sameInterference = InterferenceHandler.IsPlayerSameAsProbe();
bool isActive = __instance.gameObject.activeInHierarchy || __instance._isTLCDuplicate; bool isActive = __instance.gameObject.activeInHierarchy || __instance._isTLCDuplicate;

View File

@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components.Sectored;
using NewHorizons.Handlers; using NewHorizons.Handlers;
namespace NewHorizons.Patches.HUDPatches namespace NewHorizons.Patches.HUDPatches
@ -14,7 +15,7 @@ namespace NewHorizons.Patches.HUDPatches
bool insideQM = __instance._quantumMoon != null && (__instance._quantumMoon.IsPlayerInside() || __instance._quantumMoon.IsShipInside()); bool insideQM = __instance._quantumMoon != null && (__instance._quantumMoon.IsPlayerInside() || __instance._quantumMoon.IsShipInside());
bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside; bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside;
bool insideIP = Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isShipInsideCloak; bool insideIP = Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak == Locator.GetCloakFieldController().isShipInsideCloak;
bool insideCloak = Components.CloakSectorController.isPlayerInside == Components.CloakSectorController.isShipInside; bool insideCloak = CloakSectorController.isPlayerInside == CloakSectorController.isShipInside;
bool sameInterference = InterferenceHandler.IsPlayerSameAsShip(); bool sameInterference = InterferenceHandler.IsPlayerSameAsShip();
__instance._isVisible = !insideEYE && !insideQM && !insideRW && !__instance._translatorEquipped && !__instance._inConversation && !__instance._shipDestroyed && !__instance._playerInShip && PlayerState.HasPlayerEnteredShip() && __instance._isWearingHelmet && insideIP && insideCloak && sameInterference; __instance._isVisible = !insideEYE && !insideQM && !insideRW && !__instance._translatorEquipped && !__instance._inConversation && !__instance._shipDestroyed && !__instance._playerInShip && PlayerState.HasPlayerEnteredShip() && __instance._isWearingHelmet && insideIP && insideCloak && sameInterference;

View File

@ -1,4 +1,5 @@
using HarmonyLib; using HarmonyLib;
using NewHorizons.Components.Sectored;
namespace NewHorizons.Patches.HUDPatches namespace NewHorizons.Patches.HUDPatches
{ {
@ -14,7 +15,7 @@ namespace NewHorizons.Patches.HUDPatches
bool insideQM = __instance._quantumMoon != null && __instance._quantumMoon.IsPlayerInside(); bool insideQM = __instance._quantumMoon != null && __instance._quantumMoon.IsPlayerInside();
bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside && ShipLogEntryHUDMarker.s_entryLocationID == "IP_RING_WORLD"; bool insideRW = Locator.GetRingWorldController() != null && Locator.GetRingWorldController().isPlayerInside && ShipLogEntryHUDMarker.s_entryLocationID == "IP_RING_WORLD";
bool insideIP = hasEntryLocation && ShipLogEntryHUDMarker.s_entryLocation.IsWithinCloakField() || !(Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak); bool insideIP = hasEntryLocation && ShipLogEntryHUDMarker.s_entryLocation.IsWithinCloakField() || !(Locator.GetCloakFieldController() != null && Locator.GetCloakFieldController().isPlayerInsideCloak);
bool insideCloak = hasEntryLocation && ShipLogEntryHUDMarker.s_entryLocation.IsWithinCloakField() || !Components.CloakSectorController.isPlayerInside; bool insideCloak = hasEntryLocation && ShipLogEntryHUDMarker.s_entryLocation.IsWithinCloakField() || !CloakSectorController.isPlayerInside;
__instance._isVisible = !insideEYE && !insideQM && !insideRW && !__instance._translatorEquipped && !__instance._inConversation && hasEntryLocation && (__instance._isWearingHelmet || __instance._atFlightConsole) && insideIP && insideCloak; __instance._isVisible = !insideEYE && !insideQM && !insideRW && !__instance._translatorEquipped && !__instance._inConversation && hasEntryLocation && (__instance._isWearingHelmet || __instance._atFlightConsole) && insideIP && insideCloak;

View File

@ -1,6 +1,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
namespace NewHorizons.Components
namespace NewHorizons.Utility.Geometry
{ {
public class RingShape : Shape public class RingShape : Shape
{ {
@ -185,7 +186,7 @@ namespace NewHorizons.Components
public override bool PointInside(Vector3 point) public override bool PointInside(Vector3 point)
{ {
return (!_innerCylinderShape.PointInside(point) && _outerCylinderShape.PointInside(point)); return !_innerCylinderShape.PointInside(point) && _outerCylinderShape.PointInside(point);
} }
private List<Shape> _shapesInInner = new List<Shape>(); private List<Shape> _shapesInInner = new List<Shape>();