60 lines
1.7 KiB
C#
60 lines
1.7 KiB
C#
using Core;
|
|
using Core.Lifecycle;
|
|
|
|
namespace Minigames.StatueDressup.Controllers
|
|
{
|
|
/// <summary>
|
|
/// Singleton manager for StatueDressup settings access.
|
|
/// Loads settings once and provides global access point.
|
|
/// </summary>
|
|
public class StatueDressupSettings : ManagedBehaviour
|
|
{
|
|
public static StatueDressupSettings Instance { get; private set; }
|
|
|
|
private AppleHills.Core.Settings.IStatueDressupSettings settings;
|
|
|
|
/// <summary>
|
|
/// Get the settings instance
|
|
/// </summary>
|
|
public AppleHills.Core.Settings.IStatueDressupSettings Settings => settings;
|
|
|
|
internal override void OnManagedAwake()
|
|
{
|
|
base.OnManagedAwake();
|
|
|
|
// Singleton pattern
|
|
if (Instance != null && Instance != this)
|
|
{
|
|
Logging.Warning("[StatueDressupSettings] Duplicate instance detected. Destroying duplicate.");
|
|
Destroy(gameObject);
|
|
return;
|
|
}
|
|
|
|
Instance = this;
|
|
|
|
// Load settings once
|
|
settings = GameManager.GetSettingsObject<AppleHills.Core.Settings.IStatueDressupSettings>();
|
|
|
|
if (settings == null)
|
|
{
|
|
Logging.Error("[StatueDressupSettings] Failed to load StatueDressupSettings!");
|
|
}
|
|
else
|
|
{
|
|
Logging.Debug("[StatueDressupSettings] Settings loaded successfully");
|
|
}
|
|
}
|
|
|
|
internal override void OnManagedDestroy()
|
|
{
|
|
base.OnManagedDestroy();
|
|
|
|
if (Instance == this)
|
|
{
|
|
Instance = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|