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);
        }
Esempio n. 2
0
        //------------------------------------------------------------------------

        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);
        }
Esempio n. 3
0
        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;
                    }
                }
            }
        }