private void RequestForResource(IUnityAssetManager assetManager) { _levelManager.GetRequests(_sceneRequests, _goRequests, _lightmapsRequests); foreach (var request in _sceneRequests) { assetManager.LoadSceneAsync(request, true); } foreach (var request in _goRequests) { _levelManager.LoadResource("InitialSceneLoadingSystem", assetManager, request); } foreach (var request in _lightmapsRequests) { MeshRenderer mr = null; List <AssetInfo> infos = new List <AssetInfo>(); foreach (var ex in request) { infos.Add(ex.asset); if (mr == null) { mr = ex.data; } } assetManager.LoadAssetsAsync(mr, infos, _levelManager.LightmapsLoadedWrapper); } _sceneRequests.Clear(); _goRequests.Clear(); _lightmapsRequests.Clear(); }
public override void OnLoadResources(IUnityAssetManager assetManager) { base.OnLoadResources(assetManager); foreach (var entity in _player.GetEntities()) { if (!entity.hasAppearanceInterface) { continue; } var loadRequests = entity.appearanceInterface.Appearance.GetLoadRequests(); if (loadRequests.Count > 0) { var call = _assetsAsyncCallPool.Get(); call.CreateCallFuncMapping(entity, loadRequests); CreateAssetInfos(loadRequests); assetManager.LoadAssetsAsync(entity, _assetInfos, call.CallFunc); } var recycleRequests = entity.appearanceInterface.Appearance.GetRecycleRequests(); foreach (var request in recycleRequests) { entity.RemoveAsset(request); assetManager.Recycle(request); } entity.appearanceInterface.Appearance.ClearRequests(); } }
public void OnLoadResources(IUnityAssetManager assetManager) { _levelManager.GetRequests(_sceneRequests, _goRequests, _lightmapsRequests); if (Time.realtimeSinceStartup - prventTime > 1f) { if (_sceneRequests.Count > 0) { var request = _sceneRequests[0]; assetManager.LoadSceneAsync(request, true); _logger.InfoFormat("load scene request {0}", request.AssetName); _sceneRequests.RemoveAt(0); prventTime = Time.realtimeSinceStartup; } } //TESTCODE foreach (var request in _goRequests) { _levelManager.LoadResource("VisionCenterUpdateSystem", assetManager, request); } foreach (var request in _lightmapsRequests) { MeshRenderer mr = null; List <AssetInfo> infos = new List <AssetInfo>(); foreach (var ex in request) { infos.Add(ex.asset); if (mr == null) { mr = ex.data; } } LevelManager lm = _levelManager as LevelManager; assetManager.LoadAssetsAsync(mr, infos, lm.LightmapsLoadedWrapper); } _goRequests.Clear(); _lightmapsRequests.Clear(); }