public Protocol(ProtoID id, ProtoBody body) { protoHead = new ProtoHead(); protoHead.CmdID = id; serverHead = new ServerHead(); protoBody = body; }
/// <summary> /// 生成ProtoHead,ServerHead,ProtoID,并使用传入的ProtoBody赋值 /// </summary> /// <param name="bodyIn"></param> public Protocol(ProtoBody bodyIn) { protoHead = new ProtoHead(); serverHead = new ServerHead(); protoBody = bodyIn; protoHead.CmdID = ProtoID.GetProtoIDByBody(bodyIn); }
static int GetModuleID(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); byte o = obj.GetModuleID(); LuaDLL.lua_pushnumber(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int GetProtoIDByBody(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.ProtoBody arg0 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 1); Protocols.ProtoID o = Protocols.ProtoID.GetProtoIDByBody(arg0); ToLua.PushObject(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int ToString(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); string o = obj.ToString(); LuaDLL.lua_pushstring(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int ToUInt16(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); ushort o = obj.ToUInt16(); LuaDLL.lua_pushnumber(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int GetID(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.Protocol obj = (Protocols.Protocol)ToLua.CheckObject <Protocols.Protocol>(L, 1); Protocols.ProtoID o = obj.GetID(); ToLua.PushObject(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int GetHashCode(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); int o = obj.GetHashCode(); LuaDLL.lua_pushinteger(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int RegisterCallBack(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); Protocols.ProtoID arg0 = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 2); NetworkEventHandler arg1 = (NetworkEventHandler)ToLua.CheckDelegate <NetworkEventHandler>(L, 3); obj.RegisterCallBack(arg0, arg1); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int get_Name(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)o; string ret = obj.Name; LuaDLL.lua_pushstring(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index Name on a nil value")); } }
static int get_BodyType(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)o; System.Type ret = obj.BodyType; ToLua.Push(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index BodyType on a nil value")); } }
static int get_ID(IntPtr L) { object o = null; try { o = ToLua.ToObject(L, 1); Protocols.ProtoID obj = (Protocols.ProtoID)o; ushort ret = obj.ID; LuaDLL.lua_pushnumber(L, ret); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e, o, "attempt to index ID on a nil value")); } }
static int Equals(IntPtr L) { try { ToLua.CheckArgsCount(L, 2); Protocols.ProtoID obj = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); object arg0 = ToLua.ToVarObject(L, 2); bool o = obj != null?obj.Equals(arg0) : arg0 == null; LuaDLL.lua_pushboolean(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
internal int Deserialize(System.IO.Stream stream) { if ((stream.Length - stream.Position) < GetSize()) { return(-1); } byte[] buffer1 = new byte[2]; //cmdId stream.Read(buffer1, 0, sizeof(UInt16)); cmdID = BitConverter.ToUInt16(buffer1, 0); byte[] buffer2 = new byte[4]; //bodyLen stream.Read(buffer2, 0, sizeof(UInt32)); bodyLen = BitConverter.ToUInt32(buffer2, 0); return(0); }
#pragma warning restore 0414 ////////////////////////////////////////////////////////////////////////// // ProtoID static methods /// <summary> /// 为获得更好的运行时效率,此处对所有协议进行预处理 /// </summary> /// <param name="id"></param> /// <returns></returns> protected static int RegisterToBase(ProtoID id) { _DelayMemberInit(); if (null != id && !idMap.ContainsKey(id)) { idMap.Add(id, id); } else if (null != id) { } if (null != id && !typeMap.ContainsKey(id.BodyType)) { typeMap.Add(id.BodyType, id); //LogSys.Debug(string.Format("[PROTO] Build Mapping for {0} - {1}", id.ToUInt16(), id)); } else if (null != id) { } return(0); }
static int _CreateProtocols_Protocol(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 0) { Protocols.Protocol obj = new Protocols.Protocol(); ToLua.PushObject(L, obj); return(1); } else if (count == 1) { Protocols.ProtoBody arg0 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 1); Protocols.Protocol obj = new Protocols.Protocol(arg0); ToLua.PushObject(L, obj); return(1); } else if (count == 2) { Protocols.ProtoID arg0 = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 1); Protocols.ProtoBody arg1 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 2); Protocols.Protocol obj = new Protocols.Protocol(arg0, arg1); ToLua.PushObject(L, obj); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to ctor method: Protocols.Protocol.New")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void SetBody(ProtoBody body) { protoBody = body; protoHead.CmdID = ProtoID.GetProtoIDByBody(body); }
static int SendTcpClientMessage(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); Protocols.ProtoBody arg0 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 2); obj.SendTcpClientMessage(arg0); return(0); } else if (count == 3 && TypeChecker.CheckTypes <Protocols.ProtoID, Protocols.ProtoBody>(L, 2)) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); Protocols.ProtoID arg0 = (Protocols.ProtoID)ToLua.ToObject(L, 2); Protocols.ProtoBody arg1 = (Protocols.ProtoBody)ToLua.ToObject(L, 3); obj.SendTcpClientMessage(arg0, arg1); return(0); } else if (count == 3 && TypeChecker.CheckTypes <ushort, byte[]>(L, 2)) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); ushort arg0 = (ushort)LuaDLL.lua_tonumber(L, 2); byte[] arg1 = ToLua.CheckByteBuffer(L, 3); obj.SendTcpClientMessage(arg0, arg1); return(0); } else if (count == 3 && TypeChecker.CheckTypes <ushort, LuaFramework.ByteBuffer>(L, 2)) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); ushort arg0 = (ushort)LuaDLL.lua_tonumber(L, 2); LuaFramework.ByteBuffer arg1 = (LuaFramework.ByteBuffer)ToLua.ToObject(L, 3); obj.SendTcpClientMessage(arg0, arg1); return(0); } else if (count == 4) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); Protocols.ProtoID arg0 = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 2); Protocols.ProtoBody arg1 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 3); System.Action arg2 = (System.Action)ToLua.CheckDelegate <System.Action>(L, 4); obj.SendTcpClientMessage(arg0, arg1, arg2); return(0); } else if (count == 5) { LuaFramework.NetworkManager obj = (LuaFramework.NetworkManager)ToLua.CheckObject <LuaFramework.NetworkManager>(L, 1); Protocols.ProtoID arg0 = (Protocols.ProtoID)ToLua.CheckObject <Protocols.ProtoID>(L, 2); Protocols.ProtoBody arg1 = (Protocols.ProtoBody)ToLua.CheckObject <Protocols.ProtoBody>(L, 3); System.Action arg2 = (System.Action)ToLua.CheckDelegate <System.Action>(L, 4); bool arg3 = LuaDLL.luaL_checkboolean(L, 5); obj.SendTcpClientMessage(arg0, arg1, arg2, arg3); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: LuaFramework.NetworkManager.SendTcpClientMessage")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }