mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
Use EnterDreamWorld/ExitDreamWorld events instead of polling in update
This commit is contained in:
parent
670ba1da25
commit
05d0dfc185
@ -49,6 +49,7 @@ namespace NewHorizons.Builder.Props.EchoesOfTheEye
|
||||
var campfire = campfireObj.GetComponentInChildren<DreamCampfire>();
|
||||
campfire._dreamArrivalLocation = DreamHandler.GetDreamArrivalLocation(info.id);
|
||||
|
||||
// The streaming groups on DreamCampfires get set on Start() so we wait until after to change it again
|
||||
Delay.FireInNUpdates(() => {
|
||||
var streaming = campfireObj.GetComponentInChildren<DreamCampfireStreaming>();
|
||||
if (streaming != null)
|
||||
|
||||
@ -34,15 +34,31 @@ namespace NewHorizons.Components.EOTE
|
||||
}
|
||||
}
|
||||
|
||||
void Awake()
|
||||
{
|
||||
GlobalMessenger.AddListener("EnterDreamWorld", OnEnterDreamWorld);
|
||||
GlobalMessenger.AddListener("ExitDreamWorld", OnExitDreamWorld);
|
||||
}
|
||||
|
||||
void OnDestroy()
|
||||
{
|
||||
GlobalMessenger.RemoveListener("EnterDreamWorld", OnEnterDreamWorld);
|
||||
GlobalMessenger.RemoveListener("ExitDreamWorld", OnExitDreamWorld);
|
||||
}
|
||||
|
||||
void UpdateState()
|
||||
{
|
||||
foreach (var obj in toggledObjects) obj.SetActive(active);
|
||||
}
|
||||
|
||||
public void Update()
|
||||
void OnEnterDreamWorld()
|
||||
{
|
||||
if (!initialized) return;
|
||||
SetActive(PlayerState.InDreamWorld());
|
||||
SetActive(true);
|
||||
}
|
||||
|
||||
void OnExitDreamWorld()
|
||||
{
|
||||
SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user