using ShiroginSDK.Runtime.Services.Base;
using ShiroginSDK.Runtime.Services.Interfaces;
using UnityEngine;
using UnityEngine.UI;
namespace ShiroginSDK.Samples.ThemeSample.Scripts
{
///
/// Simple demo UI for switching between themes at runtime.
/// Uses the ThemeService through the ServiceLocator system.
///
public class ThemeSampleUI : MonoBehaviour
{
[SerializeField]
private Button fireThemeButton;
[SerializeField]
private Button snowThemeButton;
private IThemeService _themeService;
private void Awake()
{
_themeService = ServiceLocator.Get();
}
private void OnEnable()
{
if (snowThemeButton != null)
snowThemeButton.onClick.AddListener(OnSnowThemeClick);
if (fireThemeButton != null)
fireThemeButton.onClick.AddListener(OnFireThemeClick);
}
private void OnDisable()
{
if (snowThemeButton != null)
snowThemeButton.onClick.RemoveAllListeners();
if (fireThemeButton != null)
fireThemeButton.onClick.RemoveAllListeners();
}
private void OnSnowThemeClick()
{
_themeService?.SetTheme("Snow");
}
private void OnFireThemeClick()
{
_themeService?.SetTheme("Fire");
}
}
}