public void InvalidPass(VPTransponder transponder, float time, float speed) { // Reasons: // - Offlimits // - Shortcut // - SpeedLimit // - Replay // - Other }
void OnTriggerEnter(Collider other) { if (!enabled) { return; } Rigidbody rb = other.attachedRigidbody; VPTransponder transponder = rb.GetComponent <VPTransponder>(); if (transponder != null) { Vector3 velocity = rb.velocity; velocity.y = 0.0f; m_decoder.Pass(this, transponder, Time.time, velocity.magnitude); } }
public void Pass(VPLoop loop, VPTransponder transponder, float time, float speed) { PassingMsg packet = new PassingMsg { transponder = transponder.id, timeMS = m_startTime + Mathf.RoundToInt(time * 1000), id = loop.id, speed = speed, }; if (debugInfo) { Debug.Log("Pass! Loop: " + loop.name + " (" + packet.id + ") Transponder: " + packet.transponder + " Time: " + time + " Speed: " + (packet.speed * 3.6f)); } string json = JsonUtility.ToJson(packet); byte[] bytesToSend = System.Text.Encoding.UTF8.GetBytes(json); m_sender.SendSync(bytesToSend); // m_udp.SendMessageBinary(bytesToSend); }