public static void Init(OnInitFinished finishedCallback) { #if LOADER_BUNDLE string assetFilePath = AssetConst.GetAssetDetailConfigFullPathForBundle(); AssetDetailConfig assetDetailConfig = JSONReader.ReadFromFile <AssetDetailConfig>(assetFilePath); assetDetailConfig.InitConfig(); string bundleFilePath = AssetConst.GetBundleDetailConfigFullPath(); BundleDetailConfig bundleDetailConfig = JSONReader.ReadFromFile <BundleDetailConfig>(bundleFilePath); bundleDetailConfig.InitConfig(); loader = new BundleLoader(); loader.DoInitialize(assetDetailConfig, (result) => { Debug.Log("LoaderUtill::Init->init finished result = " + result); finishedCallback?.Invoke(result); }, AssetConst.GetRootFullDirForBundle(), bundleDetailConfig); #elif LOADER_RESOURCE #else string assetFilePath = AssetConst.GetAssetDetailConfigFullPathForDatabase(); AssetDetailConfig assetDetailConfig = JSONReader.ReadFromFile <AssetDetailConfig>(assetFilePath); assetDetailConfig.InitConfig(); loader = new DatabaseLoader(); loader.DoInitialize(assetDetailConfig, (result) => { Debug.Log("LoaderUtill::Init->init finished result = " + result); finishedCallback?.Invoke(result); }); #endif loaderBehaviour = PersistentUObjectHelper.CreateComponent <LoaderBehaviour>(); loaderBehaviour.SetLoader(loader); }
//------------------------------------------------------------------------ public void Init() { DateTime start = DateTime.Now; try { m_encoding1252 = Encoding.GetEncoding(1252); String pathOfMouseCursor = String.Format(@"{0}\Gfx\{1}", Application.StartupPath, "cursor.png"); m_bitmapMouseCursor = new Bitmap(Bitmap.FromFile(pathOfMouseCursor)); m_bitmapMouseCursor.MakeTransparent(Color.White); String pathOfMarker = String.Format(@"{0}\{1}", Application.StartupPath, "marker.eu4tradenode"); ReadProvinceDefinition(); ReadMarker(pathOfMarker); ReadPixel(); MarkProvinces(); MarkLocation(); //------------------------------------------------------------------ OnInitFinished?.Invoke(); } catch (Exception) { OnInitError?.Invoke(); } DateTime end = DateTime.Now; TimeSpan diff = end - start; Console.WriteLine("init time... " + diff.TotalSeconds); }
public void DoUdpate(float deltaTime, float unscaleDeltaTime) { if (State == LoaderState.Initializing) { if (OnInitializeUpdate(deltaTime)) { if (State == LoaderState.Initialized) { State = LoaderState.Running; initializedCallback?.Invoke(true); } else { initializedCallback?.Invoke(false); } } return; } if (State != LoaderState.Running) { return; } if (operationLDic.Count > 0 && operationCount < OperationMaxCount) { int diffCount = OperationMaxCount - operationCount; for (int i = 0; i < operationLDic.Count; i++) { if (!operationLDic[i].IsRunning) { operationLDic[i].DoStart(); diffCount--; } if (diffCount <= 0) { break; } } } for (int i = runningRequestList.Count - 1; i >= 0; --i) { AsyncRequest request = runningRequestList[i]; if (request.state == RequestState.Instancing || request.state == RequestState.Loading) { OnAsyncRequestUpdate(request); } if (request.state == RequestState.WaitingForInstance) { request.state = RequestState.Instancing; } else if (request.state == RequestState.LoadFinished && request.isInstance) { request.state = RequestState.WaitingForInstance; } else if ((request.state == RequestState.LoadFinished && !request.isInstance) || (request.state == RequestState.InstanceFinished && request.isInstance)) { OnAsyncRequestEnd(request); requestDic.Remove(request.id); runningRequestList.RemoveAt(i); resultDic.Remove(request.id); resultPool.Release(request.result); requestPool.Release(request); } } while (waitingRequestQueue.Count > 0 && (operationCount < OperationMaxCount)) { AsyncRequest request = waitingRequestQueue.Dequeue(); request.state = RequestState.Loading; string[] assetPaths = request.paths; for (int i = 0; i < assetPaths.Length; i++) { string assetPath = assetPaths[i]; AssetNode assetNode = GetAssetNodeAsync(assetPath); assetNode.RetainRef(); } OnAsyncRequestStart(request); runningRequestList.Add(request); } if (unloadOperation != null) { if (unloadOperation.isDone) { if (OnUnloadAssetsUpdate()) { unloadFinishedCallbacks.Clear(); unloadOperation = null; } } } }