Пример #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);
            }
        }
Пример #2
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;
        }