Fix silly mistake

This commit is contained in:
Noah Pilarski 2022-09-10 23:09:21 -04:00
parent 050e737217
commit d0a5b35a35
2 changed files with 24 additions and 4 deletions

View File

@ -21,53 +21,73 @@ namespace NewHorizons.Handlers
_shipInterference = new List<InterferenceVolume>(); _shipInterference = new List<InterferenceVolume>();
} }
public static bool PlayerHasInterference() => _playerInterference.Any(volume => volume != null); public static bool PlayerHasInterference()
public static bool ProbeHasInterference() => _probeInterference.Any(volume => volume != null); {
public static bool ShipHasInterference() => _shipInterference.Any(volume => volume != null); if (_playerInterference == null) Init();
return _playerInterference.Any(volume => volume != null);
}
public static bool ProbeHasInterference()
{
if (_probeInterference == null) Init();
return _probeInterference.Any(volume => volume != null);
}
public static bool ShipHasInterference()
{
if (_shipInterference == null) Init();
return _shipInterference.Any(volume => volume != null);
}
public static bool IsPlayerSameAsProbe() public static bool IsPlayerSameAsProbe()
{ {
if (_playerInterference == null || _probeInterference == null) Init();
_playerInterference.RemoveAll(volume => volume == null); _playerInterference.RemoveAll(volume => volume == null);
return _playerInterference.All(_probeInterference.Contains) && _playerInterference.Count == _probeInterference.Count; return _playerInterference.All(_probeInterference.Contains) && _playerInterference.Count == _probeInterference.Count;
} }
public static bool IsPlayerSameAsShip() public static bool IsPlayerSameAsShip()
{ {
if (_playerInterference == null || _shipInterference == null) Init();
_playerInterference.RemoveAll(volume => volume == null); _playerInterference.RemoveAll(volume => volume == null);
return _playerInterference.All(_shipInterference.Contains) && _playerInterference.Count == _shipInterference.Count; return _playerInterference.All(_shipInterference.Contains) && _playerInterference.Count == _shipInterference.Count;
} }
public static void OnPlayerEnterInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnPlayerEnterInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_playerInterference == null) Init();
_playerInterference.SafeAdd(interferenceVolume); _playerInterference.SafeAdd(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }
public static void OnPlayerExitInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnPlayerExitInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_playerInterference == null) Init();
_playerInterference.Remove(interferenceVolume); _playerInterference.Remove(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }
public static void OnProbeEnterInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnProbeEnterInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_probeInterference == null) Init();
_probeInterference.SafeAdd(interferenceVolume); _probeInterference.SafeAdd(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }
public static void OnProbeExitInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnProbeExitInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_probeInterference == null) Init();
_probeInterference.Remove(interferenceVolume); _probeInterference.Remove(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }
public static void OnShipEnterInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnShipEnterInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_shipInterference == null) Init();
_shipInterference.SafeAdd(interferenceVolume); _shipInterference.SafeAdd(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }
public static void OnShipExitInterferenceVolume(InterferenceVolume interferenceVolume) public static void OnShipExitInterferenceVolume(InterferenceVolume interferenceVolume)
{ {
if (_shipInterference == null) Init();
_shipInterference.Remove(interferenceVolume); _shipInterference.Remove(interferenceVolume);
GlobalMessenger.FireEvent("RefreshHUDVisibility"); GlobalMessenger.FireEvent("RefreshHUDVisibility");
} }

View File

@ -84,7 +84,7 @@ namespace NewHorizons.Patches
bool insideEYE = Locator.GetEyeStateManager() != null && Locator.GetEyeStateManager().IsInsideTheEye(); bool insideEYE = Locator.GetEyeStateManager() != null && Locator.GetEyeStateManager().IsInsideTheEye();
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 ? true : 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 = Components.CloakSectorController.isPlayerInside == Components.CloakSectorController.isShipInside;
bool sameInterference = InterferenceHandler.IsPlayerSameAsShip(); bool sameInterference = InterferenceHandler.IsPlayerSameAsShip();