public Coop_Model_ACK Recv(Coop_Model_Base model) { Coop_Model_ACK result = null; switch (model.c) { case 1: { Coop_Model_Register model4 = model as Coop_Model_Register; result = RecvRegister(model4); break; } case 15: { Coop_Model_RoomStageRequest model3 = model as Coop_Model_RoomStageRequest; result = RecvRoomStageRequest(model3); break; } case 23: { Coop_Model_EnemyOut model2 = model as Coop_Model_EnemyOut; result = RecvEnemyOut(model2); break; } } return(result); }
protected override void OnSerializeStringModel(PacketStringStream stream, Coop_Model_Base model) { Type modelType = ((PACKET_TYPE)model.c).GetModelType(); string str = JSONSerializer.Serialize(model, modelType); stream.Write(str); }
public int Send(Coop_Model_Base model, Type type, int to_id, bool promise = true, Func <Coop_Model_ACK, bool> onReceiveAck = null, Func <Coop_Model_Base, bool> onPreResend = null) { model.ct = (int)Coop_Model_Base.GetClientType(); model.u = packetSendCount++; int num = 0; if (promise) { sequence++; if (sequence >= 10000000) { sequence = 0; } num = ackPrefix * 10000000 + sequence; } CoopPacket coopPacket = CoopPacket.Create(model, fromId, to_id, promise, num); PacketStream packetStream = serializer.Serialize(coopPacket); if (model.c != 1000 && model.c != 3) { LogDebug("Send packet: {0} (stream: {1})", coopPacket, packetStream); } NativeSend(packetStream); if (promise) { RegistResendPacket(coopPacket, onReceiveAck, onPreResend); } return(num); }
protected override Coop_Model_Base OnDeserializeBinaryModel(PacketMemoryStream stream, Type type, CoopPacketHeader header) { Type modelType = ((PACKET_TYPE)header.packetType).GetModelType(); Coop_Model_Base coop_Model_Base = null; return((Coop_Model_Base)packer.Unpack(modelType, stream)); }
protected override void OnSerializeBinaryModel(PacketMemoryStream stream, Coop_Model_Base model) { Type modelType = ((PACKET_TYPE)model.c).GetModelType(); IMessagePackSingleObjectSerializer serializer = context.GetSerializer(modelType); serializer.Pack(stream, model); }
protected override Coop_Model_Base OnDeserializeStringModel(PacketStringStream stream, Type type, CoopPacketHeader header) { string message = stream.Read(); Coop_Model_Base coop_Model_Base = JSONSerializer.Deserialize <Coop_Model_Base>(message); Type modelType = ((PACKET_TYPE)coop_Model_Base.c).GetModelType(); return(JSONSerializer.Deserialize <Coop_Model_Base>(message, modelType)); }
public static CoopPacket Create(Coop_Model_Base model, int from_id, int to_id, bool promise, int sequence_no) { CoopPacket coopPacket = new CoopPacket(); CoopPacketHeader coopPacketHeader2 = coopPacket.header = new CoopPacketHeader(model.c, from_id, to_id, promise, sequence_no); coopPacket.model = model; return(coopPacket); }
private int Send(int to_client_id, Coop_Model_Base model, Type type, bool promise = true, Func<Coop_Model_ACK, bool> onReceiveAck = null, Func<Coop_Model_Base, bool> onPreResend = null) { if (!MonoBehaviourSingleton<PartyWebSocket>.I.IsConnected()) { return -1; } sendId = 0; sendId = MonoBehaviourSingleton<PartyWebSocket>.I.Send(model, type, to_client_id, promise, onReceiveAck, onPreResend); return sendId; }
private void Json(Type type) { object obj = Activator.CreateInstance(type); Log($"JsonPack: {obj.GetType().FullName}\nValue: {obj.ToString()}\nHashCode: {obj.GetHashCode()}\n"); string text = JSONSerializer.Serialize(obj, type); Log($"JsonPacked: {obj.GetType().FullName}\nValue: {obj.ToString()}\nHashCode: {obj.GetHashCode()}\nStream: {text}"); Coop_Model_Base coop_Model_Base = JSONSerializer.Deserialize <Coop_Model_Base>(text, type); Log($"JsonUnpack: {coop_Model_Base.GetType().FullName}\nValue: {coop_Model_Base.ToString()}\nHashCode: {coop_Model_Base.GetHashCode()}\n"); }
private int Send(int to_client_id, Coop_Model_Base model, Type type, bool promise = true, Func <Coop_Model_ACK, bool> onReceiveAck = null, Func <Coop_Model_Base, bool> onPreResend = null, bool is_stage = false, bool is_battle = false) { if (!MonoBehaviourSingleton <KtbWebSocket> .I.IsConnected()) { return(-1); } if (is_stage && !MonoBehaviourSingleton <CoopManager> .I.coopRoom.IsStage()) { return(-1); } if (is_battle && !MonoBehaviourSingleton <CoopManager> .I.coopRoom.IsBattle()) { return(-1); } sendId = 0; sendId = MonoBehaviourSingleton <KtbWebSocket> .I.Send(model, type, to_client_id, promise, onReceiveAck, onPreResend); return(sendId); }
protected virtual void OnSerializeStringModel(PacketStringStream stream, Coop_Model_Base model) { }
protected virtual void OnSerializeBinaryModel(PacketMemoryStream stream, Coop_Model_Base model) { }
protected override void OnSerializeBinaryModel(PacketMemoryStream stream, Coop_Model_Base model) { packer.Pack(stream, model); }