예제 #1
0
		public static int CheckOption(LuaStatePtr l, int narg, string def, string[] lst) {
			sbyte *[] lst_ = new sbyte*[lst.Length];
			for (int i = 0; i < lst.Length; ++i) {
				fixed(char * c = &lst[i].ToCharArray()[0]) {
					sbyte * b = (sbyte *)c;
					lst_[i] = b;
				}
			}
			return LuaLDelegates.luaL_checkoption(l, narg, def, lst_);
		}
예제 #2
0
		internal static extern IntPtr lua_touserdata(LuaStatePtr l, int idx);
예제 #3
0
		internal static extern int lua_rawlen(LuaStatePtr l, int idx);
예제 #4
0
		internal static extern int lua_toboolean(LuaStatePtr l, int idx);
예제 #5
0
//		public static bool ArgCheck(LuaStatePtr l, bool cond, int numarg, string extramsg) {
//			// WHAT DO I PUT HERE?
//		}

        public static string CheckString(LuaStatePtr l, int n)
        {
            return(new string(LuaLDelegates.luaL_checklstring(l, n, null)));
        }
예제 #6
0
		internal static extern void lua_pushlightuserdata(LuaStatePtr l, IntPtr p);
예제 #7
0
		internal static extern sbyte * lua_pushstring(LuaStatePtr l, [MarshalAs(UnmanagedType.LPStr)] string s);
예제 #8
0
		internal static extern void lua_pushnil(LuaStatePtr l);
예제 #9
0
 public static int Opt(LuaStatePtr l, Delegate f, int n, int d)
 {
     return(Lua.IsNoneOrNil(l, n) ? d : (int)f.DynamicInvoke(l, n));
 }
예제 #10
0
 public static void GetMetaTable(LuaStatePtr l, string n)
 {
     Lua.GetField(l, Lua.RegistryIndex, n);
 }
예제 #11
0
 public static void DoString(LuaStatePtr l, string s)
 {
     LuaL.LoadString(l, s);
     Lua.PCall(l, 0, Lua.MultRet, 0);
 }
예제 #12
0
 public static int LoadFile(LuaStatePtr l, string f)
 {
     return(LuaL.LoadFilex(l, f, null));
 }
예제 #13
0
 public static void DoFile(LuaStatePtr l, string fn)
 {
     LuaL.LoadFile(l, fn);
     Lua.PCall(l, 0, Lua.MultRet, 0);
 }
예제 #14
0
        // Skipped unneeded methods luaL_checkint etc.

        public static string TypeName(LuaStatePtr l, int i)
        {
            return(Lua.TypeName(l, Lua.Type(l, i)));
        }
예제 #15
0
 public static string OptString(LuaStatePtr l, int n, string d)
 {
     return(new string(LuaLDelegates.luaL_optlstring(l, n, d, null)));
 }
예제 #16
0
		internal static extern IntPtr lua_topointer(LuaStatePtr l, int idx);
예제 #17
0
		internal static extern int lua_rawequal(LuaStatePtr l, int idx1, int idx2);
예제 #18
0
 public static LuaBufferPtr LoadBuffer(LuaStatePtr l, string s, int sz, string n)
 {
     return(LuaL.LoadBufferx(l, s, sz, n, null));
 }
예제 #19
0
		internal static extern void lua_pushinteger(LuaStatePtr l, int n);
예제 #20
0
 internal extern static sbyte *luaL_gsub(LuaStatePtr l, [MarshalAs(UnmanagedType.LPStr)] string s, [MarshalAs(UnmanagedType.LPStr)] string p, [MarshalAs(UnmanagedType.LPStr)] string r);
예제 #21
0
		internal static extern void lua_close(LuaStatePtr l);
예제 #22
0
 internal extern static void luaL_setfuncs(LuaStatePtr l, IntPtr l_, int nup);
예제 #23
0
		internal static extern void lua_getglobal(LuaStatePtr l, [MarshalAs(UnmanagedType.LPStr)] string var);
예제 #24
0
 internal extern static int luaL_getsubtable(LuaStatePtr l, int idx, [MarshalAs(UnmanagedType.LPStr)] string fname);
예제 #25
0
		internal static extern uint lua_tounsignedx(LuaStatePtr l, int idx, int * isnum);
예제 #26
0
 internal extern static void luaL_traceback(LuaStatePtr l, LuaStatePtr l1, [MarshalAs(UnmanagedType.LPStr)] string msg, int level);
예제 #27
0
		internal static extern sbyte * lua_tolstring(LuaStatePtr l, int idx, int * len);
예제 #28
0
 internal extern static void luaL_requiref(LuaStatePtr l, [MarshalAs(UnmanagedType.LPStr)] string modname, LuaCFunction openf, int glb);
예제 #29
0
		internal static extern LuaCFunction lua_tocfunction(LuaStatePtr l, int idx);
예제 #30
0
 internal extern static void luaL_buffinit(LuaStatePtr l, LuaBufferPtr B);
예제 #31
0
		internal static extern LuaStatePtr lua_tothread(LuaStatePtr l, int idx);
예제 #32
0
 internal extern static int luaL_callmeta(LuaStatePtr l, int obj, [MarshalAs(UnmanagedType.LPStr)] string e);
예제 #33
0
		internal static extern void lua_arith(LuaStatePtr l, int op);
예제 #34
0
 internal extern static sbyte *luaL_buffinitsize(LuaStatePtr l, LuaBufferPtr B, int sz);
예제 #35
0
		internal static extern int lua_compare(LuaStatePtr l, int idx1, int idx2, int op);
예제 #36
0
		internal static extern int lua_iscfunction(LuaStatePtr l, int idx);
예제 #37
0
		internal static extern void lua_pushnumber(LuaStatePtr l, double n);
예제 #38
0
		internal static extern int lua_isuserdata(LuaStatePtr l, int idx);
예제 #39
0
		internal static extern void lua_pushunsigned(LuaStatePtr l, uint n);
예제 #40
0
		internal static extern int lua_type(LuaStatePtr l, int idx);
예제 #41
0
		internal static extern void lua_pushcclosure(LuaStatePtr l, LuaCFunction fn, int n);
예제 #42
0
		internal static extern string lua_typename(LuaStatePtr l, int tp);
예제 #43
0
		internal static extern void lua_pushboolean(LuaStatePtr l, int b);
예제 #44
0
		internal static extern double lua_tonumberx(LuaStatePtr l, int idx, int * isnum);
예제 #45
0
		internal static extern int lua_pushthread(LuaStatePtr l);
예제 #46
0
		internal static extern int lua_tointegerx(LuaStatePtr l, int idx, int * isnum);
예제 #47
0
		internal static extern void lua_gettable(LuaStatePtr l, int idx);
예제 #48
0
 public static void NewLibTable(LuaStatePtr l, string l_)
 {
     Lua.CreateTable(l, 0, l_.Length);
 }