/// <summary> /// Sepcs the proc4 assets. /// </summary> /// <param name="unit">Unit.</param> /// <param name="cb">Cb.</param> /// <param name="args">Arguments.</param> public virtual void sepcProc4Assets(T unit, object cb, object args, object progressCB) { GameObject go = null; if (typeof(T) == typeof(GameObject)) { go = unit as GameObject; } else if (unit is MonoBehaviour) { go = (unit as MonoBehaviour).gameObject; } if (go != null) { CLSharedAssets sharedAsset = go.GetComponent <CLSharedAssets> (); if (sharedAsset != null) { NewList param = ObjPool.listPool.borrowObject(); param.Add(cb); param.Add(unit); param.Add(args); sharedAsset.init((Callback)onGetSharedAssets, param, progressCB); } else { finishSetPrefab(unit); Utl.doCallback(cb, unit, args); } } else { finishSetPrefab(unit); Utl.doCallback(cb, unit, args); } }
/// <summary> /// Checks the WWW timeout. /// </summary> /// <param name="www">Www.</param> /// <param name="checkProgressSec">Check progress sec.</param> /// <param name="timeoutCallback">Timeout callback.</param> public static void addCheckWWWTimeout(UnityWebRequest www, string url, float checkProgressSec, object timeoutCallback, object orgs, int maxFailTimes, int failedTimes, RedCallback redrectioncallback) { if (www == null || www.isDone) { return; } self.enabled = true; self.isCheckWWWTimeOut = true; checkProgressSec = checkProgressSec <= 0 ? 5 : checkProgressSec; //UnityEngine.Coroutine cor = self.StartCoroutine(doCheckWWWTimeout(www, url, checkProgressSec, timeoutCallback, 0, orgs)); NewList list = ObjPool.listPool.borrowObject(); list.Add(url); list.Add(timeoutCallback); list.Add(checkProgressSec); list.Add(orgs); list.Add(0f); list.Add(0f); list.Add(Time.realtimeSinceStartup + checkProgressSec); list.Add(maxFailTimes); list.Add(failedTimes); list.Add(redrectioncallback); wwwMap4Check[www] = list;//DateEx.nowMS + checkProgressSec*1000; }
/// <summary> /// Invoke4s the lua. /// </summary> /// <param name="callbakFunc">Callbak func.lua函数</param> /// <param name="orgs">Orgs.参数</param> /// <param name="sec">Sec.等待时间</param> public void invokeByUpdate(object callbakFunc, object orgs, float sec) { if (callbakFunc == null) { return; } NewList list = ObjPool.listPool.borrowObject(); list.Add(callbakFunc); list.Add(orgs); list.Add(Time.unscaledTime + sec); invokeByUpdateList.Add(list); canUpdateInvoke = true; }
public void add(string key, object callback, object orgs) { ArrayList list = MapEx.getList(delegateInfro, key); if (list == null) { list = ObjPool.listPool.borrowObject(); } NewList infor = ObjPool.listPool.borrowObject(); infor.Add(callback); infor.Add(orgs); list.Add(infor); delegateInfro [key] = list; }
IEnumerator doInvoke4Lua(object callbakFunc, float sec, object orgs, int index) { yield return(new WaitForSeconds(sec)); try { rmCoroutine(callbakFunc, index); LuaFunction func = null; if (callbakFunc is string) { func = getLuaFunction(callbakFunc.ToString()); } else { func = (LuaFunction)callbakFunc; } if (func != null) { if (!isPause) { if (isClassLua) { func.Call(luaTable, orgs); } else { func.Call(orgs); } } else { //ArrayList list = new ArrayList (); NewList list = ObjPool.listPool.borrowObject(); list.Add(func); list.Add(orgs); list.Add(index); invokeFuncs.Enqueue(list); } } } catch (System.Exception e) { string msg = "[" + gameObject.name + "] call err:doInvoke4Lua" + ",callbakFunc=[" + callbakFunc + "]"; // CLAlert.add (msg, Color.red, -1); Debug.LogError(msg); Debug.LogError(e); } }
public void prepareSprites4BorrowMode(ArrayList list, int i, object callback, object orgs) { if (list == null) { return; } if (list.Count <= i + 1) { Utl.doCallback(callback, orgs); return; } NewList paraList = ObjPool.listPool.borrowObject(); paraList.Add(list); paraList.Add(i); paraList.Add(callback); paraList.Add(orgs); prepareOneSprite4BorrowMode(list [i] as UIAtlas, list [i + 1] as string, (Callback)onFinishPrepareOneSprite, paraList); }
public static NewList getListNone(int allLen, int curLen) { NewList reLst = NewList.create(); int dif = allLen - curLen; for (int i = 0; i < dif; i++) { reLst.Add(i); } return(reLst); }
public static void finishGetPanel(string pName, AssetBundle ab, object callback, object paras) { if (ab != null) { GameObject prefab = ab.mainAsset as GameObject; ab.Unload(false); ab = null; GameObject go = GameObject.Instantiate(prefab) as GameObject; go.name = pName; go.transform.parent = self.transform; go.transform.localScale = Vector3.one; go.transform.localPosition = Vector3.zero; CLPanelBase p = go.GetComponent <CLPanelBase>(); if (p.isNeedResetAtlase) { CLUIUtl.resetAtlasAndFont(p.transform, false); } panelBuff[pName] = p; panelAssetBundle[pName] = p; CLSharedAssets sharedAsset = go.GetComponent <CLSharedAssets>(); if (sharedAsset != null) { NewList param = ObjPool.listPool.borrowObject(); param.Add(callback); param.Add(p); param.Add(paras); sharedAsset.init((Callback)onGetSharedAssets, param, null); } else { if (p != null) { Utl.doCallback(callback, p, paras); } } } NGUITools.SetActive(self.mask, false); return;// null; }
private static NewList readList(Stream s, int len) { NewList ret = new NewList(); for (int i = 0; i < len; i++) { Object o = readObject(s); // ret.addElement(o); ret.Add(o); } return(ret); }
public static void resetTexRef(string matName, Material mat, object cb, object args) { ArrayList propNames = null; ArrayList texNames = null; ArrayList texPaths = null; if (getMaterialTexCfg(matName, ref propNames, ref texNames, ref texPaths)) { if (propNames != null) { NewList list = null; //取得texture int count = propNames.Count; //for (int i = 0; i < count; i++) if (count > 0) { //int i = 0; list = ObjPool.listPool.borrowObject(); list.Add(mat); //list.Add(propNames[i]); //list.Add(count); list.Add(cb); list.Add(args); list.Add(propNames); list.Add(texNames); list.Add(texPaths); list.Add(0); doresetTexRef(list); } } else { Debug.LogWarning("propNames is null =====" + matName); pool.finishSetPrefab(mat); Utl.doCallback(cb, mat, args); } } else { Debug.LogError("get material tex failed"); pool.finishSetPrefab(mat); Utl.doCallback(cb, mat, args); } }
public object[] call(LuaFunction func, params object[] _params) { if (func == null) { return(null); } if (isClassLua) { NewList list = ObjPool.listPool.borrowObject(); list.Clear(); list.Add(luaTable); list.AddRange(_params); object[] ret = func.Call(list.ToArray(), null); ObjPool.listPool.returnObject(list); return(ret); } else { return(func.Call(_params)); } }
void doGetContent(string path, string url, bool needSave, CLAssetType type, object onGetAsset, bool autoRealseAB, params object[] originals) { #if UNITY_EDITOR getedResMap[path] = true; #endif if (url.StartsWith("http")) { url = url.Replace("+", "%2B"); } wwwMap[path] = true; NewList transParam = ObjPool.listPool.borrowObject(); transParam.Add(path); transParam.Add(url); transParam.Add(needSave); transParam.Add(type); transParam.Add(onGetAsset); transParam.Add(originals); transParam.Add(autoRealseAB); UnityWebRequest www = null; if (needSave) { #if UNITY_EDITOR Debug.LogWarning(url); #endif CLAssetType tmptype = type; if (type == CLAssetType.assetBundle) { //因为通过DownloadHandlerAssetBundle无法取得bytes,所以只能先改变取得数据类型,然后再通过AssetBundle.LoadFromMemory取得AssetBundle tmptype = CLAssetType.bytes; } www = WWWEx.get(url, tmptype, (Callback)onWWWBack, (Callback)onWWWBack, transParam, true); addWWW(www, path, url); } else { www = WWWEx.get(url, type, (Callback)onWWWBack, (Callback)onWWWBack, transParam, true); } }
public static object[] doCallback(object callback, params object[] args) { try { if (callback == null) { return(null); } object[] ret = null; if (callback is LuaFunction) { ret = ((LuaFunction)callback).Call(args); } else if (callback is LuaTable) { LuaFunction func = null; LuaTable instance = null; parseLuafunc(callback as LuaTable, out func, out instance); NewList list = ObjPool.listPool.borrowObject(); list.Add(instance); list.AddRange(args); ret = func.Call(list.ToArray(), null); ObjPool.listPool.returnObject(list); } else if (callback is Callback) { ((Callback)callback)(args); } return(ret); } catch (System.Exception e) { Debug.LogError(e); return(null); } }