少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-27 45c82c513c67130bb52cb5e7f2f10c957e463cf1
Lua/CSharpCallLua.cs
@@ -9,29 +9,39 @@
public class CSharpCallLua
{
    [CSharpCallLua]
    public delegate void ByteArrayDelegate(ushort cmd, byte[] bytes);
    public delegate void LuaNetPackage(ushort cmd, byte[] bytes);
    static LuaNetPackage onRecieveLuaNetPackage;
    static ByteArrayDelegate onRecieveNetPackage;
    [CSharpCallLua]
    public delegate void CSharpNetPackage(ushort cmd);
    static CSharpNetPackage onCSharpNetPackage;
    public static void Init()
    {
        LuaUtility.DoString("protocol.ProtocalRegister");
        onRecieveNetPackage = LuaUtility.Global.Get<ByteArrayDelegate>("OnRecieveNetPackage");
        LuaUtility.DoString("protocol.LuaProtocalRegister");
        onRecieveLuaNetPackage = LuaUtility.Global.Get<LuaNetPackage>("OnRecieveNetPackage");
        LuaUtility.DoString("protocol.CSharpProtocalEvent");
        onCSharpNetPackage = LuaUtility.Global.Get<CSharpNetPackage>("OnCSharpNetEvent");
    }
    public static void CallLua(ushort cmd, byte[] bytes)
    public static void OnRecieveLuaNetPackage(ushort cmd, byte[] bytes)
    {
        if (onRecieveNetPackage != null)
        if (onRecieveLuaNetPackage != null)
        {
            onRecieveNetPackage(cmd, bytes);
            onRecieveLuaNetPackage(cmd, bytes);
        }
    }
    public class Test
    public static void OnRecieveCSharpNetPackage(ushort cmd)
    {
        public int a = 0;
        public int b = 2;
        public int c = 3;
        if (onCSharpNetPackage != null)
        {
            onCSharpNetPackage(cmd);
    }
    }
}