当前位置: 首页>>代码示例>>C#>>正文


C# KopiLua.Lua类代码示例

本文整理汇总了C#中KopiLua.Lua的典型用法代码示例。如果您正苦于以下问题:C# Lua类的具体用法?C# Lua怎么用?C# Lua使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Lua类属于KopiLua命名空间,在下文中一共展示了Lua类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetUsedMem

        /// <summary>
        /// Get the amount of memory used, according to the Lua memory manager
        /// </summary>
        /// <returns>Number of bytes used</returns>
        public static uint GetUsedMem(Lua.lua_State L)
        {
            // Perform a full GC pass first
            Lua.luaC_fullgc(L);

            return L.l_G.totalbytes;
        }
开发者ID:TrentSterling,项目名称:kopilua,代码行数:11,代码来源:Utils.cs

示例2: combine

 static Lua.Proto combine(Lua.lua_State L, int n)
 {
     if (n==1)
       return toproto(L,-1);
      else
      {
       int i,pc;
       Lua.Proto f=Lua.luaF_newproto(L);
       Lua.setptvalue2s(L,L.top,f); Lua.incr_top(L);
       f.source=Lua.luaS_newliteral(L,"=(" + PROGNAME + ")");
       f.maxstacksize=1;
       pc=2*n+1;
       f.code = (Instruction[])Lua.luaM_newvector<Instruction>(L, pc);
       f.sizecode=pc;
       f.p = Lua.luaM_newvector<Lua.Proto>(L, n);
       f.sizep=n;
       pc=0;
       for (i=0; i<n; i++)
       {
        f.p[i]=toproto(L,i-n-1);
        f.code[pc++]=(uint)Lua.CREATE_ABx(Lua.OpCode.OP_CLOSURE,0,i);
        f.code[pc++]=(uint)Lua.CREATE_ABC(Lua.OpCode.OP_CALL,0,1,1);
       }
       f.code[pc++]=(uint)Lua.CREATE_ABC(Lua.OpCode.OP_RETURN,0,1,0);
       return f;
      }
 }
开发者ID:raymanyu,项目名称:kopilua,代码行数:27,代码来源:luac.cs

示例3: To

 public override object To(Lua.lua_State State, int Index)
 {
     if (Lua.lua_isnumber(State, Index) > 0)
         return (int)Lua.lua_tonumber(State, Index);
     else
         throw new Exception(String.Format("Expected integer (Got {0}).", Lua.lua_typename(State, Index).ToString()));
 }
开发者ID:dzamkov,项目名称:Hailstone,代码行数:7,代码来源:Primitive.cs

示例4: AssertLuaResult

 public void AssertLuaResult(Lua.lua_State L, int result)
 {
     if (result != 0)
     {
         Utils.DumpStack(L);
         Assert.Fail(GetLuaError(L));
     }
 }
开发者ID:WondermSwift,项目名称:kopilua-1,代码行数:8,代码来源:TestMore.cs

示例5: GetLuaError

        public string GetLuaError(Lua.lua_State L)
        {
            if (Lua.lua_gettop(L) == 0)
                return "(no error message)";

            var s = Lua.lua_tostring(L, -1);
            if (s == null)
                return "(null error message)";

            return s.ToString();
        }
开发者ID:WondermSwift,项目名称:kopilua-1,代码行数:11,代码来源:TestMore.cs

示例6: report

		static int report(Lua.lua_State L, int status)
		{
			if ((status!=0) && !Lua.lua_isnil(L, -1))
			{
				Lua.CharPtr msg = Lua.lua_tostring(L, -1);
				if (msg == null) msg = "(error object is not a string)";
				l_message(progname, msg);
				Lua.lua_pop(L, 1);
			}
			return status;
		}
开发者ID:mlnlover11,项目名称:KopiLua-v5.1.5,代码行数:11,代码来源:lua.cs

示例7: DumpStack

 public static void DumpStack(Lua.lua_State L)
 {
     for (int i = -Lua.lua_gettop(L); i < 0; ++i)
     {
         string s = "?";
         int t = Lua.lua_type(L, i);
         switch (t)
         {
             case Lua.LUA_TSTRING:
                 s = Lua.lua_tostring(L, i).ToString();
                 break;
             case Lua.LUA_TBOOLEAN:
                 s = Lua.lua_toboolean(L, i) != 0 ? "true" : "false";
                 break;
             case Lua.LUA_TNUMBER:
                 s = Lua.lua_tonumber(L, i).ToString();
                 break;
         }
         Debug.WriteLine(string.Format("{0}: {1} {2}", i, Lua.lua_typename(L, t), s));
     }
 }
开发者ID:TrentSterling,项目名称:kopilua,代码行数:21,代码来源:Utils.cs

示例8: Node

			public Node(Lua.LuaTypeValue i_val, TKey i_key)
			{
				this.values = new Node[] { this };
				this.index = 0;
				this.i_val = i_val;
				this.i_key = i_key;
			}
开发者ID:oathx,项目名称:Six,代码行数:7,代码来源:lobject.cs

示例9: IsCollectable

		internal static bool IsCollectable(Lua.LuaTypeValue o) { return (TType(o) >= LUA_TSTRING); }
开发者ID:oathx,项目名称:Six,代码行数:1,代码来源:lobject.cs

示例10: SetSValue2N

		//#define setsvalue2n	setsvalue
		internal static void SetSValue2N(LuaState L, Lua.LuaTypeValue obj, TString x) { SetSValue(L, obj, x); }
开发者ID:oathx,项目名称:Six,代码行数:2,代码来源:lobject.cs

示例11: SetPTValue2S

		//#define setptvalue2s	setptvalue
		internal static void SetPTValue2S(LuaState L, Lua.LuaTypeValue obj, Proto x) { SetPTValue(L, obj, x); }
开发者ID:oathx,项目名称:Six,代码行数:2,代码来源:lobject.cs

示例12: SetObj

		internal static void SetObj(LuaState L, Lua.LuaTypeValue obj1, Lua.LuaTypeValue obj2) {
			obj1.value.Copy(obj2.value);
			obj1.tt = obj2.tt;
			CheckLiveness(G(L), obj1);
		}
开发者ID:oathx,项目名称:Six,代码行数:5,代码来源:lobject.cs

示例13: SetHValue

		internal static void SetHValue(LuaState L, Lua.LuaTypeValue obj, Table x) {
			obj.value.gc = x;
			obj.tt = LUA_TTABLE;
			CheckLiveness(G(L), obj);
		}
开发者ID:oathx,项目名称:Six,代码行数:5,代码来源:lobject.cs

示例14: THValue

		internal static LuaState THValue(Lua.LuaTypeValue o) { return (LuaState)CheckExp(TTIsThread(o), o.value.gc.th); }
开发者ID:oathx,项目名称:Six,代码行数:1,代码来源:lobject.cs

示例15: BValue

		internal static int BValue(Lua.LuaTypeValue o) { return o.value.b; }
开发者ID:oathx,项目名称:Six,代码行数:1,代码来源:lobject.cs


注:本文中的KopiLua.Lua类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。