mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Keep Reference Frame for Cloak
This commit is contained in:
parent
bb22b03c18
commit
3ed6834f61
@ -5,7 +5,7 @@ namespace NewHorizons.Builder.Body
|
||||
{
|
||||
public static class CloakBuilder
|
||||
{
|
||||
public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius)
|
||||
public static void Make(GameObject planetGO, Sector sector, OWRigidbody OWRB, float radius, bool keepReferenceFrame)
|
||||
{
|
||||
var cloak = SearchUtilities.Find("RingWorld_Body/CloakingField_IP");
|
||||
|
||||
@ -36,6 +36,7 @@ namespace NewHorizons.Builder.Body
|
||||
|
||||
// To cloak from the start
|
||||
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(cloakSectorController.OnPlayerExit);
|
||||
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(keepReferenceFrame ? cloakSectorController.EnableReferenceFrameVolume : cloakSectorController.DisableReferenceFrameVolume);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,5 +76,9 @@ namespace NewHorizons.Components
|
||||
Shader.DisableKeyword("_CLOAKINGFIELDENABLED");
|
||||
_cloak._cloakVisualsEnabled = false;
|
||||
}
|
||||
|
||||
public void SetReferenceFrameVolumeActive(bool active) => _cloak._referenceFrameVolume.gameObject.SetActive(active);
|
||||
public void EnableReferenceFrameVolume() => SetReferenceFrameVolumeActive(true);
|
||||
public void DisableReferenceFrameVolume() => SetReferenceFrameVolumeActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -482,7 +482,7 @@ namespace NewHorizons.Handlers
|
||||
// Has to go last probably
|
||||
if (body.Config.Base.cloakRadius != 0f)
|
||||
{
|
||||
CloakBuilder.Make(go, sector, rb, body.Config.Base.cloakRadius);
|
||||
CloakBuilder.Make(go, sector, rb, body.Config.Base.cloakRadius, body.Config.Base.hasReferenceFrame);
|
||||
}
|
||||
|
||||
return go;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user