2026-01-20 20:17:48 +05:30
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using DG.Tweening;
|
|
|
|
|
using UnityEditor;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
public enum ScreenType
|
|
|
|
|
{
|
2026-01-30 22:46:04 +05:30
|
|
|
MainMenuScreen,
|
|
|
|
|
GameScreen,
|
|
|
|
|
GameOverScreen,
|
2026-01-20 20:17:48 +05:30
|
|
|
LoadingScreen,
|
|
|
|
|
LevelsScreen,
|
|
|
|
|
InGameHUDScreen,
|
2026-01-30 22:46:04 +05:30
|
|
|
MenuScreen
|
2026-01-20 20:17:48 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class ScreenBase : UIBase, IUIBase
|
|
|
|
|
{
|
|
|
|
|
[SerializeField] protected ScreenType screenType;
|
|
|
|
|
[SerializeField] protected bool shouldFade = false;
|
2026-01-30 22:46:04 +05:30
|
|
|
|
2026-01-20 20:17:48 +05:30
|
|
|
|
|
|
|
|
public ScreenType ScreenType => screenType;
|
|
|
|
|
|
2026-01-31 20:33:50 +05:30
|
|
|
protected ScreenManager screenManager;
|
2026-01-20 20:17:48 +05:30
|
|
|
|
|
|
|
|
public void Initialize()
|
|
|
|
|
{
|
|
|
|
|
screenManager = screenManager == null ? InterfaceManager.Instance?.GetInterfaceInstance<ScreenManager>() : screenManager;
|
|
|
|
|
screenManager.RegisterScreen(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Show()
|
|
|
|
|
{
|
|
|
|
|
base.Show();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Hide()
|
|
|
|
|
{
|
|
|
|
|
base.Hide();
|
|
|
|
|
}
|
|
|
|
|
}
|