public static bool LoadTexture(string path, TexEventHandler cb) { if (!FindManager()) { return(false); } Inst.StartCoroutine(Inst.DoLoadTexture(path, cb)); return(true); }
//UISliderEx OnLoadUISlider(string uiName, string atlasList) //{ // float sTime = Time.realtimeSinceStartup; // GameObject uiObj = Instantiate(mUIList[uiName]) as GameObject; // uiObj.name = uiName; // uiObj.SetActive(true); // UISliderEx ret = uiObj.GetComponent<UISliderEx>(); // if (null != ret) // { // bool noNeedAtlas = true; // string[] list = atlasList.Split("#".ToCharArray()); // List<int> aidList = new List<int>(); // for (int i = 0; i < list.Length; ++i) // { // if (string.IsNullOrEmpty(list[i])) // continue; // if (System.Enum.IsDefined(typeof(UIAtlasType), list[i])) // { // UIAtlasType at = (UIAtlasType)System.Enum.Parse(typeof(UIAtlasType), list[i]); // noNeedAtlas = false; // ret.AddRefAtlas(at); // aidList.Add((int)at); // } // } // if (noNeedAtlas) // ret.DoReadyShowing(); // else // { // for (int i = 0; i < aidList.Count; ++i) // StartCoroutine(DoLoadAtlas(aidList[i], ret)); // } // } // LogSys.Debug("~~~inst ui[" + uiName + "]used:" + (Time.realtimeSinceStartup - sTime).ToString()); // return ret; //} IEnumerator DoLoadTexture(string path, TexEventHandler cb) { if (!mTextureList.ContainsKey(path)) { yield return(StartCoroutine(DoLoadTexture(path))); } if (mTextureList.ContainsKey(path)) { mTextureList[path].Second++; if (null != cb) { if (!cb(mTextureList[path].First)) { RemoveTexture(path); } } } }