private void OnMessage(Session client, MessageBuffer msg) { MessageID messageId = (MessageID)msg.id(); switch (messageId) { case MessageID.GM_ACCEPT_CS: { GM_Accept recvData = ProtoTransfer.DeserializeProtoBuf <GM_Accept>(msg); if (recvData.conv == client.id) { OnConnect(client); } } break; case MessageID.GM_READY_CS: { GM_Ready recvData = ProtoTransfer.DeserializeProtoBuf <GM_Ready>(msg); OnReceiveReady(client, recvData); } break; case MessageID.GM_FRAME_CS: { GM_Frame recvData = ProtoTransfer.DeserializeProtoBuf <GM_Frame>(msg); if (mMode == Mode.LockStep) { OnLockStepFrame(client, recvData); } else { OnOptimisticFrame(client, recvData); } } break; case MessageID.GM_PING_CS: { GM_Request recvData = ProtoTransfer.DeserializeProtoBuf <GM_Request>(msg); User u = GetUser(recvData.id); if (u != null) { GM_Return sendData = new GM_Return(); sendData.id = recvData.id; u.SendUdp(MessageID.GM_PING_SC, sendData); } } break; } }
public static void ProtobufString(SLua.ByteArray data) { System.IO.MemoryStream ms = new System.IO.MemoryStream(data.GetData(), 0, data.Position); PBMessage.Person person = ProtoTransfer.DeserializeProtoBuf <PBMessage.Person>(ms); Debug.Log("age=" + person.age); Debug.Log("email=" + person.email); Debug.Log("name=" + person.name); Debug.Log("id=" + person.id); var table = SLua.LuaSvr.mainState.getFunction("TestParseProtobuf"); if (table != null) { table.call(data); } }
public object Get(Type type) { return(ProtoTransfer.DeserializeProtoBuf(mData, type)); }
public T Get <T>() where T : class, ProtoBuf.IExtensible { T t = ProtoTransfer.DeserializeProtoBuf <T>(mData); return(t); }