From 4d7c48a681b2b7ad796852cb9bb996fb27046991 Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Sat, 8 Nov 2025 12:07:45 +0100 Subject: [PATCH] Update Cinematic Manager, Hud Manager, fix log verbosity issue, update PauseMenu --- Assets/Prefabs/UI/PauseMenu.prefab | 14 ++++++- .../Scripts/Bootstrap/BootSceneController.cs | 8 +++- .../Scripts/Cinematics/CinematicsManager.cs | 2 + Assets/Scripts/Sound/AudioManager.cs | 30 +++++++++++---- Assets/Scripts/UI/PlayerHudManager.cs | 38 +++++-------------- 5 files changed, 55 insertions(+), 37 deletions(-) diff --git a/Assets/Prefabs/UI/PauseMenu.prefab b/Assets/Prefabs/UI/PauseMenu.prefab index 99c6d9be..d4667707 100644 --- a/Assets/Prefabs/UI/PauseMenu.prefab +++ b/Assets/Prefabs/UI/PauseMenu.prefab @@ -951,7 +951,19 @@ MonoBehaviour: m_TargetGraphic: {fileID: 500835664005007083} m_OnClick: m_PersistentCalls: - m_Calls: [] + m_Calls: + - m_Target: {fileID: 3083882772934295339} + m_TargetAssemblyTypeName: UI.PauseMenu, AppleHillsScripts + m_MethodName: HideDevOptions + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 --- !u!1 &4393876071688605581 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Bootstrap/BootSceneController.cs b/Assets/Scripts/Bootstrap/BootSceneController.cs index 0d085197..d212fd04 100644 --- a/Assets/Scripts/Bootstrap/BootSceneController.cs +++ b/Assets/Scripts/Bootstrap/BootSceneController.cs @@ -56,7 +56,13 @@ namespace Bootstrap // Subscribe to boot progress for real-time updates during bootstrap CustomBoot.OnBootProgressChanged += OnBootProgressChanged; - _logVerbosity = DeveloperSettingsProvider.Instance.GetSettings().bootstrapLogVerbosity; + #if UNITY_EDITOR + _logVerbosity = DeveloperSettingsProvider.Instance.GetSettings().bootstrapLogVerbosity; + #elif DEVELOPMENT_BUILD + _logVerbosity = LogVerbosity.Debug; + #elif RELEASE_BUILD + _logVerbosity = LogVerbosity.Warning; + #endif // In debug mode, log additional information if (debugMode) diff --git a/Assets/Scripts/Cinematics/CinematicsManager.cs b/Assets/Scripts/Cinematics/CinematicsManager.cs index 064c0928..45724195 100644 --- a/Assets/Scripts/Cinematics/CinematicsManager.cs +++ b/Assets/Scripts/Cinematics/CinematicsManager.cs @@ -147,6 +147,8 @@ namespace Cinematics /// public PlayableDirector LoadAndPlayCinematic(string key, bool playPortraitMode) { + InitializeComponents(); + // Load the asset via addressables var handle = Addressables.LoadAssetAsync(key); var result = handle.WaitForCompletion(); diff --git a/Assets/Scripts/Sound/AudioManager.cs b/Assets/Scripts/Sound/AudioManager.cs index c7ec01d4..7035a6de 100644 --- a/Assets/Scripts/Sound/AudioManager.cs +++ b/Assets/Scripts/Sound/AudioManager.cs @@ -53,18 +53,34 @@ public class AudioManager : ManagedBehaviour, IPausable protected override void OnManagedAwake() { - // Auto-registration with GameManager handled by ManagedBehaviour - } + // Initialize lists if they were not set in inspector + criticalVOSources = criticalVOSources ?? new List(); + VOSources = VOSources ?? new List(); + musicSources = musicSources ?? new List(); + ambienceSources = ambienceSources ?? new List(); + SFXSources = SFXSources ?? new List(); - // Start is called once before the first execution of Update after the MonoBehaviour is created - void Start() - { - _player = QuickAccess.Instance.PlayerGameObject; - _audioListener = QuickAccess.Instance.MainCamera.GetComponent(); + // Perform singleton-dependent initialization here + if (QuickAccess.Instance != null) + { + _player = QuickAccess.Instance.PlayerGameObject; + if (QuickAccess.Instance.MainCamera != null) + { + _audioListener = QuickAccess.Instance.MainCamera.GetComponent(); + } + } + else + { + Debug.LogWarning("[AudioManager] QuickAccess.Instance is null during OnManagedAwake. Some audio references may remain unset."); + } + + // Diagnostic foreach (AppleAudioSource _audioSource in criticalVOSources) { Debug.Log("Found source: " + _audioSource.name); } + + Debug.Log("[AudioManager] OnManagedAwake completed"); } public void SetAudioPauseBehavior(PauseBehavior newPauseBehavior) diff --git a/Assets/Scripts/UI/PlayerHudManager.cs b/Assets/Scripts/UI/PlayerHudManager.cs index c37d1ad1..31e2809b 100644 --- a/Assets/Scripts/UI/PlayerHudManager.cs +++ b/Assets/Scripts/UI/PlayerHudManager.cs @@ -38,51 +38,33 @@ public class PlayerHudManager : ManagedBehaviour _instance = this; - } - - protected override void OnManagedAwake() - { - InitializePostBoot(); + InitializeReferences(); } private void InitializeReferences() { + currentCinematicPlayer = landscapeObject; + playableDirector = cinematicsParentObject.GetComponent(); cinematicSprites = currentCinematicPlayer.GetComponent(); cinematicBackgroundSprites = CinematicBackground.GetComponent(); - playableDirector = cinematicsParentObject.GetComponent(); } - - private void InitializePostBoot() + + private void UpateCinematicReferences(GameObject newCinematicPlayer) { - // Initialize any dependencies that require other services to be ready - // For example, subscribe to SceneManagerService events if needed - - - Logging.Debug("[PlayerHudManager] Post-boot initialization complete"); + currentCinematicPlayer = newCinematicPlayer; + cinematicSprites = currentCinematicPlayer.GetComponent(); } - - private void OnEnable() - { - // Subscribe to application quit event to ensure cleanup - Application.quitting += OnApplicationQuit; - } - - private void OnApplicationQuit() - { - } - + public void SetPortraitMode(bool portraitModeEnable) { if (portraitModeEnable) { - currentCinematicPlayer = portraitObject; - InitializeReferences(); + UpateCinematicReferences(portraitObject); } else { - currentCinematicPlayer = landscapeObject; - InitializeReferences(); + UpateCinematicReferences(landscapeObject); } } }