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
|
// Lets just clear these off idc
|
||||||
_cloak.OnPlayerEnter = new OWEvent();
|
_cloak.OnPlayerEnter = new OWEvent();
|
||||||
_cloak.OnPlayerExit = 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.OnPlayerEnter += OnPlayerEnter;
|
||||||
_cloak.OnPlayerExit += OnPlayerExit;
|
_cloak.OnPlayerExit += OnPlayerExit;
|
||||||
|
_cloak.OnProbeEnter += OnProbeEnter;
|
||||||
|
_cloak.OnProbeExit += OnProbeExit;
|
||||||
|
_cloak.OnShipEnter += OnShipEnter;
|
||||||
|
_cloak.OnShipExit += OnShipExit;
|
||||||
|
|
||||||
_isInitialized = true;
|
_isInitialized = true;
|
||||||
}
|
}
|
||||||
@ -49,6 +57,8 @@ namespace NewHorizons.Components
|
|||||||
{
|
{
|
||||||
renderer.forceRenderingOff = false;
|
renderer.forceRenderingOff = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GlobalMessenger.FireEvent("PlayerEnterCloakField");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnPlayerExit()
|
public void OnPlayerExit()
|
||||||
@ -59,6 +69,28 @@ namespace NewHorizons.Components
|
|||||||
{
|
{
|
||||||
renderer.forceRenderingOff = true;
|
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()
|
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