예제 #1
0
        public static void AddIoLibrary(LuaContext Context)
        {
            dynamic io = LuaObject.NewTable();

            FileMetatable.__index       = LuaObject.NewTable();
            FileMetatable.__index.write = (LuaFunction)write;
            FileMetatable.__index.close = (LuaFunction)close;
            FileMetatable.__index.flush = (LuaFunction)flush;
            FileMetatable.__index.seek  = (LuaFunction)seek;
            FileMetatable.__index.read  = (LuaFunction)read;

            io.open   = (LuaFunction)io_open;
            io.type   = (LuaFunction)io_type;
            io.input  = (LuaFunction)io_input;
            io.output = (LuaFunction)io_output;
            io.temp   = (LuaFunction)io_temp;
            io.flush  = (LuaFunction)io_flush;
            io.write  = (LuaFunction)io_write;
            io.read   = (LuaFunction)io_read;

            currentInput  = CreateFileObject(Console.OpenStandardInput());
            currentOutput = CreateFileObject(Console.OpenStandardOutput(), true);
            io.stdin      = currentInput;
            io.stdout     = currentOutput;
            io.stderr     = CreateFileObject(Console.OpenStandardError(), true);

            Context.Set("io", io);
        }
예제 #2
0
        public static void AddMathLibrary(LuaContext Context)
        {
            dynamic math = LuaObject.NewTable();

            math.abs   = (LuaFunction)math_abs;
            math.acos  = (LuaFunction)math_acos;
            math.asin  = (LuaFunction)math_asin;
            math.atan  = (LuaFunction)math_atan;
            math.atan2 = (LuaFunction)math_atan2;
            math.ceil  = (LuaFunction)math_ceil;
            math.cos   = (LuaFunction)math_cos;
            math.cosh  = (LuaFunction)math_cosh;
            math.exp   = (LuaFunction)math_exp;
            math.floor = (LuaFunction)math_floor;
            math.log   = (LuaFunction)math_log;
            math.max   = (LuaFunction)math_max;
            math.min   = (LuaFunction)math_min;
            math.pow   = (LuaFunction)math_pow;
            math.sin   = (LuaFunction)math_sin;
            math.sinh  = (LuaFunction)math_sinh;
            math.sqrt  = (LuaFunction)math_sqrt;
            math.tan   = (LuaFunction)math_tan;
            math.tanh  = (LuaFunction)math_tanh;

            math.pi = Math.PI;

            Context.Set("math", math);
        }