mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Cloak Enter & Exit Events
This commit is contained in:
parent
ba63099a72
commit
2298445055
@ -20,9 +20,17 @@ namespace NewHorizons.Components
|
||||
// Lets just clear these off idc
|
||||
_cloak.OnPlayerEnter = new OWEvent();
|
||||
_cloak.OnPlayerExit = new OWEvent();
|
||||
_cloak.OnProbeEnter = new OWEvent();
|
||||
_cloak.OnProbeExit = new OWEvent();
|
||||
_cloak.OnShipEnter = new OWEvent();
|
||||
_cloak.OnShipExit = new OWEvent();
|
||||
|
||||
_cloak.OnPlayerEnter += OnPlayerEnter;
|
||||
_cloak.OnPlayerExit += OnPlayerExit;
|
||||
_cloak.OnProbeEnter += OnProbeEnter;
|
||||
_cloak.OnProbeExit += OnProbeExit;
|
||||
_cloak.OnShipEnter += OnShipEnter;
|
||||
_cloak.OnShipExit += OnShipExit;
|
||||
|
||||
_isInitialized = true;
|
||||
}
|
||||
@ -49,6 +57,8 @@ namespace NewHorizons.Components
|
||||
{
|
||||
renderer.forceRenderingOff = false;
|
||||
}
|
||||
|
||||
GlobalMessenger.FireEvent("PlayerEnterCloakField");
|
||||
}
|
||||
|
||||
public void OnPlayerExit()
|
||||
@ -59,6 +69,28 @@ namespace NewHorizons.Components
|
||||
{
|
||||
renderer.forceRenderingOff = true;
|
||||
}
|
||||
|
||||
GlobalMessenger.FireEvent("PlayerExitCloakField");
|
||||
}
|
||||
|
||||
public void OnProbeEnter()
|
||||
{
|
||||
GlobalMessenger.FireEvent("ProbeEnterCloakField");
|
||||
}
|
||||
|
||||
public void OnProbeExit()
|
||||
{
|
||||
GlobalMessenger.FireEvent("ProbeExitCloakField");
|
||||
}
|
||||
|
||||
public void OnShipEnter()
|
||||
{
|
||||
GlobalMessenger.FireEvent("ShipEnterCloakField");
|
||||
}
|
||||
|
||||
public void OnShipExit()
|
||||
{
|
||||
GlobalMessenger.FireEvent("ShipExitCloakField");
|
||||
}
|
||||
|
||||
public void EnableCloak()
|
||||
|
||||
56
NewHorizons/Patches/HUDPatches.cs
Normal file
56
NewHorizons/Patches/HUDPatches.cs
Normal file
@ -0,0 +1,56 @@
|
||||
using HarmonyLib;
|
||||
|
||||
namespace NewHorizons.Patches
|
||||
{
|
||||
[HarmonyPatch]
|
||||
public static class HUDPatches
|
||||
{
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(HUDMarker), nameof(HUDMarker.Awake))]
|
||||
public static void HUDMarker_Awake(HUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.AddListener("PlayerEnterCloakField", __instance.OnPlayerEnterCloakField);
|
||||
GlobalMessenger.AddListener("PlayerExitCloakField", __instance.OnPlayerExitCloakField);
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(HUDMarker), nameof(HUDMarker.OnDestroy))]
|
||||
public static void HUDMarker_OnDestroy(HUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.RemoveListener("PlayerEnterCloakField", __instance.OnPlayerEnterCloakField);
|
||||
GlobalMessenger.RemoveListener("PlayerExitCloakField", __instance.OnPlayerExitCloakField);
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(ProbeHUDMarker), nameof(ProbeHUDMarker.Awake))]
|
||||
public static void ProbeHUDMarker_Awake(ProbeHUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.AddListener("ProbeEnterCloakField", __instance.RefreshOwnVisibility);
|
||||
GlobalMessenger.AddListener("ProbeExitCloakField", __instance.RefreshOwnVisibility);
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(ProbeHUDMarker), nameof(ProbeHUDMarker.OnDestroy))]
|
||||
public static void ProbeHUDMarker_OnDestroy(ProbeHUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.RemoveListener("ProbeEnterCloakField", __instance.RefreshOwnVisibility);
|
||||
GlobalMessenger.RemoveListener("ProbeExitCloakField", __instance.RefreshOwnVisibility);
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(ShipHUDMarker), nameof(ShipHUDMarker.Awake))]
|
||||
public static void ShipHUDMarker_Awake(ShipHUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.AddListener("ShipEnterCloakField", __instance.RefreshOwnVisibility);
|
||||
GlobalMessenger.AddListener("ShipExitCloakField", __instance.RefreshOwnVisibility);
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(ShipHUDMarker), nameof(ShipHUDMarker.OnDestroy))]
|
||||
public static void ShipHUDMarker_OnDestroy(ShipHUDMarker __instance)
|
||||
{
|
||||
GlobalMessenger.RemoveListener("ShipEnterCloakField", __instance.RefreshOwnVisibility);
|
||||
GlobalMessenger.RemoveListener("ShipExitCloakField", __instance.RefreshOwnVisibility);
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user