//using System.Collections.Generic;
//using UnityEngine;
//using UnityEngine.SceneManagement;
//using XGame.Framework.Asyncs;

//namespace XGame.Framework.Asset
//{
//    public class UnitySceneModule : IUnitySceneModule
//    {
//        private IAssetModule _assetModule;

//        public UnitySceneModule(IAssetModule assetModule)
//        {
//            _assetModule = assetModule;
//        }

//        public IResultAsync<TResult> LoadSceneAsync<TResult>(string sceneName) where TResult : Component
//        {
//            var asyncOperation = new SceneAsyncOperation<TResult>(sceneName, _assetModule);
//            return asyncOperation;
//        }

//        public void UnLoadScene(string sceneName)
//        {
//            _assetModule.UnLoadSceneBundle(sceneName);
//            _assetModule.UnloadUnusedAssets();
//            SceneManager.UnloadSceneAsync(sceneName);
//        }
//    }
//}
