Beispiel #1
0
        public static void lua_pushstdcallcfunction(IntPtr L, lua_CSFunction function, int n = 0)        //[-0, +1, m]
        {
#if XLUA_GENERAL || (UNITY_WSA && !UNITY_EDITOR)
            GCHandle.Alloc(function);
#endif
            IntPtr fn = Marshal.GetFunctionPointerForDelegate(function);
            xlua_push_csharp_function(L, fn, n);
        }
        private void AddSearcherEx(lua_CSFunction searcher, int index)
        {
            object obj  = (LuaEnv)this;
            Type   type = obj.GetType();

            type = type.BaseType;
            MethodInfo mf = type.GetMethod("AddSearcher", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);

            mf.Invoke(obj, new object[] { searcher, index });
        }
Beispiel #3
0
        //将function推到Lua虚拟机栈
        public static void lua_pushstdcallcfunction(IntPtr L, lua_CSFunction function, int n = 0)        //[-0, +1, m]
        {
#if XLUA_GENERAL || (UNITY_WSA && !UNITY_EDITOR)
            GCHandle.Alloc(function);
#endif
            //这个还做了一下处理.
            //marshal的获取代理的函数指针,最后把这个指针加到lua虚拟机的栈里面.
            IntPtr fn = Marshal.GetFunctionPointerForDelegate(function);
            xlua_push_csharp_function(L, fn, n);
        }
Beispiel #4
0
 public static extern IntPtr lua_atpanic(IntPtr L, lua_CSFunction panicf);
Beispiel #5
0
 public static extern int lua_VM_SetPrint(lua_CSFunction func);
Beispiel #6
0
 public static extern int lua_VM_SetDefaultLoader(lua_CSFunction func);
Beispiel #7
0
        public static void lua_pushstdcallcfunction(IntPtr L, lua_CSFunction function, int n = 0)        //[-0, +1, m]
        {
            IntPtr fn = Marshal.GetFunctionPointerForDelegate(function);

            xlua_push_csharp_function(L, fn, n);
        }
Beispiel #8
0
		public static extern void lua_atpanic(IntPtr L, lua_CSFunction panicf);
Beispiel #9
0
		public static void lua_pushstdcallcfunction(IntPtr L, lua_CSFunction function, int n = 0)//[-0, +1, m]
        {
            IntPtr fn = Marshal.GetFunctionPointerForDelegate(function);
            xlua_push_csharp_function(L, fn, n);
        }
Beispiel #10
0
        public static void RegistFunction(IntPtr luaState, string libName, string functionName, lua_CSFunction function)
        {
            MDebug.Assert(ms_CurrntLibName == libName
                          , "XLua"
                          , "ms_CurrntLibName == libName");

            Lua.xlua_pushasciistring(luaState, functionName);
            Lua.lua_pushstdcallcfunction(luaState, function);
            Lua.lua_rawset(luaState, -3);
        }
Beispiel #11
0
 public static void lua_pushstdcallcfunction(IntPtr L, lua_CSFunction function)//[-0, +1, m]
 {
     lua_pushstdcallcfunction(L, function, 0);
 }