using System; using Cysharp.Threading.Tasks; using UnityEngine; namespace Game { public class Game : MonoBehaviour { private UIManager _uiManager; private ResourceManager _resourceManager; [SerializeField] private LoadType _loadType = LoadType.Editor; [SerializeField] private float time; private void Awake() { DontDestroyOnLoad(this.gameObject); _uiManager = new UIManager(); _resourceManager = new ResourceManager(); _resourceManager.Init(); _uiManager.Init(); } private void Start() { UniTask.Create( async () => { await _resourceManager.InitLoadModeAsync(_loadType); // var loadingGameSceneUI = UIManager.Instance.CreateUI(UIType.LoadingGameSceneUI); // UIManager.Instance.ShowUI(UIType.LoadingGameSceneUI); await this._resourceManager.LoadSceneAsync(SceneType.Game.ToString()); return "11"; }); } private void Update() { time += Time.deltaTime; _resourceManager.Update(time); _uiManager.Update(time); } private void OnDestroy() { _resourceManager.Dispose(); _uiManager.Dispose(); } } }