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); }
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); }