static int SetPackageItemExtension(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes <System.Type>(L, 2))
            {
                string      arg0 = ToLua.CheckString(L, 1);
                System.Type arg1 = (System.Type)ToLua.ToObject(L, 2);
                FairyGUI.UIObjectFactory.SetPackageItemExtension(arg0, arg1);
                return(0);
            }
            else if (count == 2 && TypeChecker.CheckTypes <FairyGUI.UIObjectFactory.GComponentCreator>(L, 2))
            {
                string arg0 = ToLua.CheckString(L, 1);
                FairyGUI.UIObjectFactory.GComponentCreator arg1 = (FairyGUI.UIObjectFactory.GComponentCreator)ToLua.ToObject(L, 2);
                FairyGUI.UIObjectFactory.SetPackageItemExtension(arg0, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: FairyGUI.UIObjectFactory.SetPackageItemExtension"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
        static StackObject *SetPackageItemExtension_1(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            FairyGUI.UIObjectFactory.GComponentCreator @creator = (FairyGUI.UIObjectFactory.GComponentCreator) typeof(FairyGUI.UIObjectFactory.GComponentCreator).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @url = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);


            FairyGUI.UIObjectFactory.SetPackageItemExtension(@url, @creator);

            return(__ret);
        }
        static int _m_SetPackageItemExtension_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

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

                    FairyGUI.UIObjectFactory.SetPackageItemExtension(
                        _url,
                        _type);



                    return(0);
                }
                if (gen_param_count == 2 && (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING) && translator.Assignable <FairyGUI.UIObjectFactory.GComponentCreator>(L, 2))
                {
                    string _url = LuaAPI.lua_tostring(L, 1);
                    FairyGUI.UIObjectFactory.GComponentCreator _creator = translator.GetDelegate <FairyGUI.UIObjectFactory.GComponentCreator>(L, 2);

                    FairyGUI.UIObjectFactory.SetPackageItemExtension(
                        _url,
                        _creator);



                    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.UIObjectFactory.SetPackageItemExtension!"));
        }