47 lines
955 B
C#
Raw Permalink Normal View History

2026-01-05 12:16:58 +05:30
using UnityEngine;
public enum ScreenType
{
MainMenu,
InGameHUDScreen,
MenuHUDScreen
}
public class ScreenBase : UIBase, IUIBase
{
[SerializeField] protected ScreenType screenType;
public ScreenType ScreenType => screenType;
protected ScreenManager screenManager;
private UIScaler uiScaler;
public void Initialize()
{
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
screenManager.RegisterScreen(this);
}
public override void Show()
{
if (uiScaler)
uiScaler.ApplyEffectOnShow(() => base.Show());
else
base.Show();
}
public override void Hide()
{
if (uiScaler)
uiScaler.ApplyEffectOnShow(() => base.Hide());
else
base.Hide();
}
private void Awake()
{
uiScaler = GetComponent<UIScaler>();
}
}