Exemplo n.º 1
0
        private void ClearPackage()
        {
            if (pendingUIList.Count == 0)
            {
                //Debug.Log("$$ prepare to clear package...");
                List <UIPackage> allPak = new List <UIPackage>(packagesWithId.Values);
                var pakToMove           = allPak.FindAll((pak) =>
                {
                    //搜索所以ui是否使用了当前package
                    bool isExist = managedUIList.Exists((ui) =>
                    {
                        //var pakInfos = ui.gObject.GetType().GetCustomAttributes(typeof(UIAttributes.UIPackageIDAttribute), false);
                        //return pakInfos.Length > 0 && (pakInfos[0] as UIAttributes.UIPackageIDAttribute).ID == pak.id;
                        return((GetPakIDAttFromType(ui.UIType).ID == pak.id) || (ui.IsLoaded && ui.gObject.packageItem.owner.id == pak.id));
                    });
                    //移除未使用的
                    return(!isExist);
                });

                pakToMove.ForEach((pak) =>
                {
                    packagesWithId.Remove(pak.id);
                    UIPackage.RemovePackage(pak.id);
                    Debug.Log("$$ Unload Package:" + pak.name);
                });
            }
        }
Exemplo n.º 2
0
        static int _m_ReloadAssets(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 1)
                {
                    gen_to_be_invoked.ReloadAssets(  );



                    return(0);
                }
                if (gen_param_count == 2 && translator.Assignable <UnityEngine.AssetBundle>(L, 2))
                {
                    UnityEngine.AssetBundle _resBundle = (UnityEngine.AssetBundle)translator.GetObject(L, 2, typeof(UnityEngine.AssetBundle));

                    gen_to_be_invoked.ReloadAssets(_resBundle);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.UIPackage.ReloadAssets!"));
        }
Exemplo n.º 3
0
        static int _m_GetItemByName(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);



                {
                    string _itemName = LuaAPI.lua_tostring(L, 2);

                    FairyGUI.PackageItem gen_ret = gen_to_be_invoked.GetItemByName(
                        _itemName);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 4
0
        static int _m_CreateObjectAsync(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);



                {
                    string _resName = LuaAPI.lua_tostring(L, 2);
                    FairyGUI.UIPackage.CreateObjectCallback _callback = translator.GetDelegate <FairyGUI.UIPackage.CreateObjectCallback>(L, 3);

                    gen_to_be_invoked.CreateObjectAsync(
                        _resName,
                        _callback);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 5
0
        static int _m_SetItemAsset(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);



                {
                    FairyGUI.PackageItem _item = (FairyGUI.PackageItem)translator.GetObject(L, 2, typeof(FairyGUI.PackageItem));
                    object _asset = translator.GetObject(L, 3, typeof(object));
                    FairyGUI.DestroyMethod _destroyMethod; translator.Get(L, 4, out _destroyMethod);

                    gen_to_be_invoked.SetItemAsset(_item, _asset, _destroyMethod);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 6
0
 public void AddUIPackage()
 {
     UIPackage.AddPackage("FairyGUIPak/Package1");
     UIPackage.AddPackage("FairyGUIPak/Details");
     UIPackage.AddPackage("FairyGUIPak/FVideoPlayer");
     UIPackage.AddPackage("FairyGUIPak/P12_1");
     UIPackage.AddPackage("FairyGUIPak/P13_1_2");
 }
Exemplo n.º 7
0
        public void Loadpackage(string name, System.Action <UIPackage> cb)
        {
            Debug.Log("$$ load package :" + name);
            var pak = UIPackage.AddPackage(string.Concat("FairyGUIPak/", name));

            if (!packagesWithId.ContainsKey(pak.id))
            {
                packagesWithId[pak.id] = pak;
            }
            cb(pak);
        }
Exemplo n.º 8
0
        static int _g_get_customId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushstring(L, gen_to_be_invoked.customId);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
Exemplo n.º 9
0
        static int _g_get_dependencies(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.dependencies);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
Exemplo n.º 10
0
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 1)
                {
                    FairyGUI.UIPackage gen_ret = new FairyGUI.UIPackage();
                    translator.Push(L, gen_ret);

                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.UIPackage constructor!"));
        }
Exemplo n.º 11
0
        static int _m_CreateObject(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _resName = LuaAPI.lua_tostring(L, 2);

                    FairyGUI.GObject gen_ret = gen_to_be_invoked.CreateObject(
                        _resName);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <System.Type>(L, 3))
                {
                    string      _resName   = LuaAPI.lua_tostring(L, 2);
                    System.Type _userClass = (System.Type)translator.GetObject(L, 3, typeof(System.Type));

                    FairyGUI.GObject gen_ret = gen_to_be_invoked.CreateObject(
                        _resName,
                        _userClass);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.UIPackage.CreateObject!"));
        }
Exemplo n.º 12
0
        static int _m_GetItemAsset(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _resName = LuaAPI.lua_tostring(L, 2);

                    object gen_ret = gen_to_be_invoked.GetItemAsset(
                        _resName);
                    translator.PushAny(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && translator.Assignable <FairyGUI.PackageItem>(L, 2))
                {
                    FairyGUI.PackageItem _item = (FairyGUI.PackageItem)translator.GetObject(L, 2, typeof(FairyGUI.PackageItem));

                    object gen_ret = gen_to_be_invoked.GetItemAsset(
                        _item);
                    translator.PushAny(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.UIPackage.GetItemAsset!"));
        }
Exemplo n.º 13
0
        static int _m_UnloadAssets(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);



                {
                    gen_to_be_invoked.UnloadAssets(  );



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 14
0
        static int _m_GetByName_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                {
                    string _name = LuaAPI.lua_tostring(L, 1);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.GetByName(_name);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 15
0
        public override void OnSingletonInit()
        {
            base.OnSingletonInit();
            // preload fairyGUI type mapping
            var types = System.Reflection.Assembly.GetExecutingAssembly().GetTypes();
            int len   = types.Length;

            for (int i = 0; i < len; i++)
            {
                var type  = types[i];
                var attrs = type.GetCustomAttributes(typeof(UIFrame.UIAttributes.UIPackageItemIDAttribute), true);
                if (attrs.Length > 0)
                {
                    foreach (var att in attrs)
                    {
                        var a            = att as UIFrame.UIAttributes.UIPackageItemIDAttribute;
                        var constructors = a.type.GetConstructors(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
                        if (constructors.Length > 0)
                        {
                            constructors[0].Invoke(null);
                            //Debug.Log(a.type.FullName);
                        }
                    }
                }
            }
#if _CREATE_LISTITEM_FROMPOOL_
            FairyGUI.Stage.inst.CreatePoolManager("ListPool");
#endif
            UIPackage.AddPackage("FairyGUIPak/Common");
            //AddUIPackage();

            //FairyGUI.UIConfig.defaultFont = "Microsoft YaHei, SimHei";
            //设置默认字体为黑体
            FairyGUI.UIConfig.defaultFont = "simhei";
            //获取simhei(黑体的英文名)字体
            var loadedSimhei = FairyGUI.FontManager.GetFont("simhei");
            //为黑体字体设置中文别名
            FairyGUI.FontManager.RegisterFont(loadedSimhei, @"黑体");
        }
Exemplo n.º 16
0
        static int _m_GetItems(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                FairyGUI.UIPackage gen_to_be_invoked = (FairyGUI.UIPackage)translator.FastGetCSObj(L, 1);



                {
                    System.Collections.Generic.List <FairyGUI.PackageItem> gen_ret = gen_to_be_invoked.GetItems(  );
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
Exemplo n.º 17
0
 public static bool SetBundlePackageOfPoolInstance(this object obj, FairyGUI.UIPackage bundlePackage)
 {
     FairyPackagePoolImplmentSingleInstance.GetInstance.bundlePackage = bundlePackage;
     return(true);
 }
Exemplo n.º 18
0
        static int _m_AddPackage_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 1 && translator.Assignable <UnityEngine.AssetBundle>(L, 1))
                {
                    UnityEngine.AssetBundle _bundle = (UnityEngine.AssetBundle)translator.GetObject(L, 1, typeof(UnityEngine.AssetBundle));

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_bundle);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 1 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _descFilePath = LuaAPI.lua_tostring(L, 1);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_descFilePath);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && translator.Assignable <UnityEngine.AssetBundle>(L, 1) && translator.Assignable <UnityEngine.AssetBundle>(L, 2))
                {
                    UnityEngine.AssetBundle _desc = (UnityEngine.AssetBundle)translator.GetObject(L, 1, typeof(UnityEngine.AssetBundle));
                    UnityEngine.AssetBundle _res  = (UnityEngine.AssetBundle)translator.GetObject(L, 2, typeof(UnityEngine.AssetBundle));

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_desc, _res);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <FairyGUI.UIPackage.LoadResource>(L, 2))
                {
                    string _assetPath = LuaAPI.lua_tostring(L, 1);
                    FairyGUI.UIPackage.LoadResource _loadFunc = translator.GetDelegate <FairyGUI.UIPackage.LoadResource>(L, 2);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_assetPath, _loadFunc);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && translator.Assignable <UnityEngine.AssetBundle>(L, 1) && translator.Assignable <UnityEngine.AssetBundle>(L, 2) && (LuaAPI.lua_isnil(L, 3) || LuaAPI.lua_type(L, 3) == LuaTypes.LUA_TSTRING))
                {
                    UnityEngine.AssetBundle _desc = (UnityEngine.AssetBundle)translator.GetObject(L, 1, typeof(UnityEngine.AssetBundle));
                    UnityEngine.AssetBundle _res  = (UnityEngine.AssetBundle)translator.GetObject(L, 2, typeof(UnityEngine.AssetBundle));
                    string _mainAssetName         = LuaAPI.lua_tostring(L, 3);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_desc, _res, _mainAssetName);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <FairyGUI.UIPackage.LoadResource>(L, 3))
                {
                    byte[] _descData        = LuaAPI.lua_tobytes(L, 1);
                    string _assetNamePrefix = LuaAPI.lua_tostring(L, 2);
                    FairyGUI.UIPackage.LoadResource _loadFunc = translator.GetDelegate <FairyGUI.UIPackage.LoadResource>(L, 3);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_descData, _assetNamePrefix, _loadFunc);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING) && translator.Assignable <FairyGUI.UIPackage.LoadResourceAsync>(L, 3))
                {
                    byte[] _descData        = LuaAPI.lua_tobytes(L, 1);
                    string _assetNamePrefix = LuaAPI.lua_tostring(L, 2);
                    FairyGUI.UIPackage.LoadResourceAsync _loadFunc = translator.GetDelegate <FairyGUI.UIPackage.LoadResourceAsync>(L, 3);

                    FairyGUI.UIPackage gen_ret = FairyGUI.UIPackage.AddPackage(_descData, _assetNamePrefix, _loadFunc);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to FairyGUI.UIPackage.AddPackage!"));
        }