| | |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |