Exemple #1
0
        public void RemoveDataHandler(OnLoadedComplete handler)
        {
            if (handler == null)
            {
                return;
            }

            OnDataReady -= handler;
        }
Exemple #2
0
        public void AddDataHandler(OnLoadedComplete handler)
        {
            if (handler == null)
            {
                return;
            }

            if (readyToUse)
            {
                handler.Invoke(_resName, this, _param);
            }
            else
            {
                OnDataReady += handler;
            }
        }
        /// <summary>
        /// Load raw resource by path
        /// </summary>
        /// <param name="path"> resource path </param>
        /// <param name="onComplete"> callback function when resource loaded </param>
        /// <param name="useLocal"> true: use file from Resource folder, false: use assetBundle </param>
        /// <param name="param"></param>
        private void LoadResourceByPath(string path, OnLoadedComplete onComplete, bool useLocal, System.Object param = null)
        {
            if (!string.IsNullOrEmpty(path))
            {
                GAbstractData waitLoadResource = null;

                if (_dataMap.ContainsKey(path))
                {
                    waitLoadResource = _dataMap[path];
                    waitLoadResource.AddRef();
                    waitLoadResource.AddDataHandler(onComplete);
                }
                else
                {
                    if (useLocal)
                    {
                        waitLoadResource = new GGameLocalData();
                    }
                    else
                    {
                        waitLoadResource = new GAssetBundleData();
                    }

                    _dataMap.Add(path, waitLoadResource);
                    _loadingResList.Add(waitLoadResource);

                    waitLoadResource.AddRef();
                    waitLoadResource.AddDataHandler(onComplete);
                    waitLoadResource.Init(path, useLocal, param);
                }
            }
            else
            {
                DebugUtils.LogError(DebugUtils.Type.Resource, "GetGameData Can't input the null path!");
            }
        }