Beispiel #1
0
        public LuaState()
        {
            L = LuaLib.luaL_newstate();
            if (L == IntPtr.Zero)
            {
                UnityEngine.Debug.LogError("Failed to create Lua state!");
                return;
            }

            _luaStates[L] = this;

            LuaLib.luaL_openlibs(L);

            LuaCSFunction panicCallback = new LuaCSFunction(_PanicCallback);

            LuaLib.lua_atpanic(L, panicCallback);

            Set("print", (LuaCSFunction)_Print);

            LuaLib.lua_newtable(L);                                     // |t
            LuaLib.lua_pushcsfunction(L, _ImportType);                  // |t|csf
            LuaLib.lua_setfield(L, -2, "ImportType");                   // |t
            LuaLib.lua_setglobal(L, "wutLua");                          // |		// _G["wutLua"] = t

            Bindings = new LuaBindings(this);
            Bindings.Initialize();
        }
Beispiel #2
0
 public void PushObject(UnityEngine.Vector2 o)
 {
     LuaLib.lua_newtable(L);                             // |t
     LuaLib.lua_pushnumber(L, o.x);                      // |t|x
     LuaLib.lua_rawseti(L, -2, 1);                       // |t		// t[1] = x
     LuaLib.lua_pushnumber(L, o.y);                      // |t|y
     LuaLib.lua_rawseti(L, -2, 2);                       // |t		// t[2] = y
 }
Beispiel #3
0
 public void PushObject(UnityEngine.Vector4 o)
 {
     LuaLib.lua_newtable(L);                             // |t
     LuaLib.lua_pushnumber(L, o.x);                      // |t|x
     LuaLib.lua_rawseti(L, -2, 1);                       // |t		// t[1] = x
     LuaLib.lua_pushnumber(L, o.y);                      // |t|y
     LuaLib.lua_rawseti(L, -2, 2);                       // |t		// t[2] = y
     LuaLib.lua_pushnumber(L, o.z);                      // |t|z
     LuaLib.lua_rawseti(L, -2, 3);                       // |t		// t[3] = z
     LuaLib.lua_pushnumber(L, o.w);                      // |t|w
     LuaLib.lua_rawseti(L, -2, 4);                       // |t		// t[4] = w
 }
Beispiel #4
0
 public void PushObject(UnityEngine.Color o)
 {
     LuaLib.lua_newtable(L);                             // |t
     LuaLib.lua_pushnumber(L, o.r);                      // |t|r
     LuaLib.lua_rawseti(L, -2, 1);                       // |t		// t[1] = r
     LuaLib.lua_pushnumber(L, o.g);                      // |t|g
     LuaLib.lua_rawseti(L, -2, 2);                       // |t		// t[2] = g
     LuaLib.lua_pushnumber(L, o.b);                      // |t|b
     LuaLib.lua_rawseti(L, -2, 3);                       // |t		// t[3] = b
     LuaLib.lua_pushnumber(L, o.a);                      // |t|a
     LuaLib.lua_rawseti(L, -2, 4);                       // |t		// t[4] = a
 }
Beispiel #5
0
 public LuaTable(LuaState luaState) : base(luaState)
 {
     LuaLib.lua_newtable(luaState.L);                                                            // |...|t
     _RefId = LuaLib.luaL_ref(luaState.L, LuaIndices.LUA_REGISTRYINDEX);                         // |...|		// Registry[reference] = t
 }