stash work

This commit is contained in:
Michal Pikulski
2025-10-16 16:18:04 +02:00
parent c7906a9968
commit d2c6c5df38
19 changed files with 353 additions and 277 deletions

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using Bootstrap;
using Core;
using UnityEngine;
@@ -29,6 +30,15 @@ namespace AppleHills.UI.CardSystem
}
_instance = this;
// Register for post-boot initialization
BootCompletionService.RegisterInitAction(InitializePostBoot);
}
private void InitializePostBoot()
{
// Initialize any dependencies that require other services to be ready
Logging.Debug("[UIPageController] Post-boot initialization complete");
}
/// <summary>

View File

@@ -1,5 +1,6 @@
using System.Collections;
using System;
using Bootstrap;
using UnityEngine;
using UnityEngine.UI;
using Core;
@@ -48,22 +49,10 @@ namespace UI
/// </summary>
public bool IsActive => loadingScreenContainer != null && loadingScreenContainer.activeSelf;
public static LoadingScreenController Instance
{
get
{
if (_instance == null && Application.isPlaying && !_isQuitting)
{
_instance = FindAnyObjectByType<LoadingScreenController>();
if (_instance == null)
{
var go = new GameObject("LoadingScreenController");
_instance = go.AddComponent<LoadingScreenController>();
}
}
return _instance;
}
}
/// <summary>
/// Singleton instance of the LoadingScreenController. No longer creates an instance if one doesn't exist.
/// </summary>
public static LoadingScreenController Instance => _instance;
private void Awake()
{
@@ -77,6 +66,15 @@ namespace UI
{
loadingScreenContainer.SetActive(false);
}
// Register for post-boot initialization
BootCompletionService.RegisterInitAction(InitializePostBoot);
}
private void InitializePostBoot()
{
// Initialize any dependencies that require other services to be ready
Logging.Debug("[LoadingScreenController] Post-boot initialization complete");
}
/// <summary>

View File

@@ -12,23 +12,10 @@ namespace UI
private static PauseMenu _instance;
private static bool _isQuitting;
public static PauseMenu Instance
{
get
{
if (_instance == null && Application.isPlaying && !_isQuitting)
{
_instance = FindAnyObjectByType<PauseMenu>();
if (_instance == null)
{
var go = new GameObject("PauseMenu");
_instance = go.AddComponent<PauseMenu>();
// DontDestroyOnLoad(go);
}
}
return _instance;
}
}
/// <summary>
/// Singleton instance of the PauseMenu. No longer creates an instance if one doesn't exist.
/// </summary>
public static PauseMenu Instance => _instance;
[Header("UI References")]
[SerializeField] private GameObject pauseMenuPanel;
@@ -52,23 +39,21 @@ namespace UI
BootCompletionService.RegisterInitAction(InitializePostBoot);
}
private void Start()
private void InitializePostBoot()
{
// Subscribe to scene loaded events
SceneManagerService.Instance.SceneLoadCompleted += SetPauseMenuByLevel;
// SceneManagerService subscription moved to InitializePostBoot
// Set initial state based on current scene
SetPauseMenuByLevel(SceneManager.GetActiveScene().name);
#if UNITY_EDITOR
#if UNITY_EDITOR
// Initialize pause menu state
HidePauseMenu(false);
#endif
}
private void InitializePostBoot()
{
// Subscribe to scene loaded events
SceneManagerService.Instance.SceneLoadCompleted += SetPauseMenuByLevel;
#endif
Logging.Debug("[PauseMenu] Subscribed to SceneManagerService events");
}