From c998a92cec79c76f3ec8f27b7b25d9029b1f31c8 Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 4 Jun 2024 02:03:43 -0400 Subject: [PATCH] Fix conditional object activation making everything viewable when loading --- .../Props/ConditionalObjectActivation.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Components/Props/ConditionalObjectActivation.cs b/NewHorizons/Components/Props/ConditionalObjectActivation.cs index 122302cf..bf4fdecf 100644 --- a/NewHorizons/Components/Props/ConditionalObjectActivation.cs +++ b/NewHorizons/Components/Props/ConditionalObjectActivation.cs @@ -6,6 +6,8 @@ namespace NewHorizons.Components.Props { public class ConditionalObjectActivation : MonoBehaviour { + private bool _playerAwake, _playerDoneAwake; + public GameObject GameObject; public string DialogueCondition; public bool CloseEyes; @@ -47,6 +49,7 @@ namespace NewHorizons.Components.Props GlobalMessenger.AddListener("DialogueConditionChanged", OnDialogueConditionChanged); GlobalMessenger.AddListener("ExitConversation", OnExitConversation); GlobalMessenger.AddListener("EnterConversation", OnEnterConversation); + GlobalMessenger.AddListener("WakeUp", OnWakeUp); } public void OnDestroy() @@ -54,6 +57,23 @@ namespace NewHorizons.Components.Props GlobalMessenger.RemoveListener("DialogueConditionChanged", OnDialogueConditionChanged); GlobalMessenger.RemoveListener("ExitConversation", OnExitConversation); GlobalMessenger.RemoveListener("EnterConversation", OnEnterConversation); + GlobalMessenger.RemoveListener("WakeUp", OnWakeUp); + } + + private void OnWakeUp() + { + _playerAwake = true; + } + + public void Update() + { + if (!_playerDoneAwake && _playerAwake) + { + if (!_playerCameraEffectController._isOpeningEyes) + { + _playerDoneAwake = true; + } + } } public void OnExitConversation() @@ -88,7 +108,7 @@ namespace NewHorizons.Components.Props public void SetActive(bool active) { - if (CloseEyes) + if (CloseEyes && _playerDoneAwake) { Delay.StartCoroutine(Coroutine(active)); }