using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; using Framework; using PhxhSDK; namespace Gameplay.Level { public partial class LevelManager : Singlenton, IUpdatable, IInitable { public Level CurrentLevel { get; private set; } public async UniTask LoadLevel(int leveId) { CurrentLevel = new Level(leveId, _levelParam); await CurrentLevel.Load(); await UniTask.NextFrame(); return LoadingResult.Success; } public async void UnloadLevel() { await CurrentLevel.Unload(); if (CurrentLevel != null) { CurrentLevel.Release(); CurrentLevel = null; } } public void Update(float deltaTime) { if (CurrentLevel != null) { CurrentLevel.Update(deltaTime); } } public void Init() { InitData(); InitAction(); } public void Release() { ReleaseData(); ReleaseAction(); } } }