using System; using System.Net; using System.Text; using UnityEngine; public class DebugDisplay : MonoBehaviour { public BicycleController bicycleController; private BikeSensorData sensorData = BikeSensorData.Instance; private string ip; private string text; private void Start() { ip = GetIp(); } private void Update() { var sb = new StringBuilder(); sb.Append( $"MotorTorque: {bicycleController.CurrentMotorTorque}; BrakeTorque: {bicycleController.CurrentBrakeTorque}, Steer: {bicycleController.CurrentSteerAngle}; Lean: {bicycleController.CurrentLeaningAngle}\n"); sb.Append("-----Sensors------\n"); sb.Append( $"Speed: {(sensorData.SpeedData?.Speed ?? 0f):n4} m/s; Polar Acc ({(sensorData.PolarData?.Acc.x ?? 0f):n4}; {(sensorData.PolarData?.Acc.y ?? 0f):n4}; {(sensorData.PolarData?.Acc.z ?? 0f):n4}) "); sb.Append("\n\n"); sb.Append($"IP: {ip}\n"); sb.Append("----BicycleController-----\n"); sb.Append($"Actual Speed {(bicycleController.rigidBody.velocity.magnitude * 3.6):n2} km/h"); text = sb.ToString(); } private void OnGUI() { var padding = 10; var width = 360; var height = 120; var x = Screen.width - width - padding; var y = Screen.height - height - padding; GUI.TextField(new Rect(x, y, width, height), text); } private String GetIp() { string usedIp = null; foreach (var ip in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { if (usedIp == null || ip.ToString().StartsWith("192.168.1.")) { usedIp = ip.ToString(); } } } return usedIp; } }