Exemplo n.º 1
0
    static int DebugProxy(IntPtr L)
    {
        try
        {
            int parameterCount = LuaDLL.lua_gettop(L);
            if (parameterCount == 1 && TypeChecker.CheckTypes <int>(L, 1))
            {
                int number = (int)LuaDLL.luaL_checknumber(L, 1);
                Util_xia.DebugProxy(number);
                return(1);
            }
            else if (parameterCount == 1 && TypeChecker.CheckTypes <string>(L, 1))
            {
                string str = ToLua.ToString(L, 1);
                Util_xia.DebugProxy(str);
                return(1);
            }


            object obj1  = ToLua.ToVarObject(L, 1);
            byte[] bytes = ToLua.ToByteBuffer(L, 1);
            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemplo n.º 2
0
    static int GetCRC(IntPtr L)
    {
        try
        {
            int parameterCount = LuaDLL.lua_gettop(L);
            if (parameterCount == 1 && TypeChecker.CheckTypes <byte[]>(L, 1))
            {
                byte[] bytes   = ToLua.CheckByteBuffer(L, 1);
                ushort short16 = Util_xia.GetCRC(bytes);
                LuaDLL.lua_pushnumber(L, short16);
                return(1);
            }
            else if (parameterCount == 1 && TypeChecker.CheckTypes <int[]>(L, 1))
            {
                int[] numbers = ToLua.CheckNumberArray <int>(L, 1);

                List <byte> bytes = new List <byte>();

                for (int i = 0; i < numbers.Length; i++)
                {
                    bytes.Add(Convert.ToByte(numbers[i]));
                }
                ushort short16 = Util_xia.GetCRC(bytes.ToArray());
                LuaDLL.lua_pushnumber(L, short16);
                return(1);
            }
            else if (parameterCount == 2 && TypeChecker.CheckTypes <int[], int>(L, 1))
            {
                int[] numbers = ToLua.CheckNumberArray <int>(L, 1);
                int   option  = (int)LuaDLL.luaL_checknumber(L, 2);

                List <byte> bytes = new List <byte>();
                for (int i = 0; i < numbers.Length; i++)
                {
                    bytes.Add(Convert.ToByte(numbers[i]));
                }
                ushort short16 = Util_xia.GetCRC(bytes.ToArray(), option);
                LuaDLL.lua_pushnumber(L, short16);
                return(1);
            }
            else if (parameterCount == 2 && TypeChecker.CheckTypes <byte[], int>(L, 1))
            {
                byte[] bytes  = ToLua.CheckByteBuffer(L, 1);
                int    option = (int)LuaDLL.luaL_checknumber(L, 2);

                ushort short16 = Util_xia.GetCRC(bytes, option);
                LuaDLL.lua_pushnumber(L, short16);
                return(1);
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemplo n.º 3
0
    static int DecompressFile(IntPtr L)//这里传进来的是一个路径
    {
        try
        {
            int parameterCount = LuaDLL.lua_gettop(L);
            if (parameterCount == 1 && TypeChecker.CheckTypes <string>(L, 1))
            {
                string path  = ToLua.ToString(L, 1);
                byte[] bytes = Util_xia.DecompressFile(path);
                ToLua.PushByteBuffer(L, bytes);
                return(1);
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemplo n.º 4
0
    static int CompressFile(IntPtr L)
    {
        try
        {
            Util.DebugProxy("压缩文件调用");
            int parameterCount = LuaDLL.lua_gettop(L);
            if (parameterCount == 2 && TypeChecker.CheckTypes <int[], string>(L, 1))
            {
                int[]  numbers = ToLua.CheckNumberArray <int>(L, 1);
                string path    = ToLua.ToString(L, 2);

                List <byte> bytes = new List <byte>();

                for (int i = 0; i < numbers.Length; i++)
                {
                    bytes.Add(Convert.ToByte(numbers[i]));
                }

                Util_xia.CompressFile(bytes.ToArray(), path);
                return(1);
            }
            else if (parameterCount == 2 && TypeChecker.CheckTypes <byte[], string>(L, 1))
            {
                byte[] bytes = ToLua.ToByteBuffer(L, 1);
                string path  = ToLua.ToString(L, 2);

                Util_xia.CompressFile(bytes, path);
                return(1);
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemplo n.º 5
0
    static int GetMD5(IntPtr L)
    {
        try
        {
            int parameterCount = LuaDLL.lua_gettop(L);
            if (parameterCount == 1 && TypeChecker.CheckTypes <int[]>(L, 1))
            {
                int[] numbers = ToLua.CheckNumberArray <int>(L, 1);

                List <byte> bytes = new List <byte>();

                for (int i = 0; i < numbers.Length; i++)
                {
                    bytes.Add(Convert.ToByte(numbers[i]));
                }

                string str = Util_xia.GetMD5(bytes.ToArray());
                LuaDLL.lua_pushstring(L, str);
                return(1);
            }
            else if (parameterCount == 1 && TypeChecker.CheckTypes <byte[]>(L, 1))
            {
                byte[] bytes = ToLua.ToByteBuffer(L, 1);

                string str = Util_xia.GetMD5(bytes);
                LuaDLL.lua_pushstring(L, str);
                return(1);
            }

            return(0);
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }