using System; using UnityEngine; namespace Mountools.LoadingScreen.Presets { [RequireComponent(typeof(LoadingScreen))] [RequireComponent(typeof(Animator))] public abstract class LoadingScreenPresetHandle : MonoBehaviour { [HideInInspector] public LoadingScreen loadingScreen; [HideInInspector] public Animator animator; private void Start() { loadingScreen = GetComponent(); animator = GetComponent(); loadingScreen.onLoad.AddListener(OnLoad); loadingScreen.onLoading.AddListener(OnLoading); loadingScreen.onLoaded.AddListener(OnLoaded); Initialize(); } protected virtual void Initialize() {} protected abstract void OnLoad(string sceneName); protected abstract void OnLoading(float progress); protected abstract void OnLoaded(); } }