Example #1
0
    public void AcceptConfirm(UdpConfirm confirm, bool result)
    {
        confirm.ReceiveTime = TimeUtils.GetTimeStampNow();
        if (result)
        {
            sendCallback(confirm.saveData);
        }
        float delay = confirm.ReceiveTime - confirm.sendTime;

        delay /= 1000f;
        TimeUtils.GenerateUdpDelayTime(delay);
    }
Example #2
0
    public void Send(SendData data)
    {
        byte[] byteData = null;
        int    hashCode = 0;

        switch (data.cmd)
        {
        case SendDataType.StartInfo:
            hashCode = newHashCode();
            byteData = GenerateStartInfo(data, hashCode);
            break;

        case SendDataType.Transform:
            byteData = GenerateTransform(data);
            break;

        case SendDataType.Action:
            hashCode = newHashCode();
            byteData = GenerateAction(data, hashCode);
            break;

        case SendDataType.State:
            hashCode = newHashCode();
            byteData = GenerateState(data, hashCode);
            break;
        }

        if (data.cmd != SendDataType.Transform)
        {
            UdpConfirm confirm = new UdpConfirm();
            confirm.data      = byteData;
            confirm.hashCode  = hashCode;
            confirm.delayTime = 0f;
            confirm.saveData  = data;
            confirm.sendTime  = TimeUtils.GetTimeStampNow();
            confirmMap.Add(hashCode, confirm);
        }
        socket.SendBytes(byteData);
    }