Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
        /// <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;
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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);
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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;
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
            }
        }
Esempio n. 11
0
 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));
     }
 }
Esempio n. 12
0
        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);
            }
        }
Esempio n. 13
0
 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);
     }
 }