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 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");
|
var cloak = SearchUtilities.Find("RingWorld_Body/CloakingField_IP");
|
||||||
|
|
||||||
@ -36,6 +36,7 @@ namespace NewHorizons.Builder.Body
|
|||||||
|
|
||||||
// To cloak from the start
|
// To cloak from the start
|
||||||
Main.Instance.ModHelper.Events.Unity.FireOnNextUpdate(cloakSectorController.OnPlayerExit);
|
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");
|
Shader.DisableKeyword("_CLOAKINGFIELDENABLED");
|
||||||
_cloak._cloakVisualsEnabled = false;
|
_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
|
// Has to go last probably
|
||||||
if (body.Config.Base.cloakRadius != 0f)
|
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;
|
return go;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user