Example #1
0
    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));
    }
Example #7
0
    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);
    }
Example #8
0
	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;
	}
Example #9
0
    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);
 }