private void timer1_Tick(object sender, EventArgs e) { //getVehs(); UnityVehicle[] vehsData = new UnityVehicle[] { }; try { GetTrafficVehicles(out vehsData); string t = ""; if (vehsData.Count() < 1) { Console.WriteLine("Count < 1"); } foreach (var item in vehsData) { t += " timestamp: " + item.timestamp + " vehId=" + item.vehicle_id + " x=" + item.position_x + " y=" + item.position_y + " heading: " + item.orient_heading + "\r\n"; } textBox1.Text = t; //updateSubjectCarLocation(-48.829f, 2732.424f, 0f,0.1f, 0f, 0f, 0f); //error updateSubjectCarLocation(26.21f, -31.5f, 0f, 1.56f, 0f, 0f, 0f); //updateSubjectCarLocation(-11.9f, -33.4f, 0f,4.7f, 0f, 0f, 0f); updateBrakeStatus(0.99f); float dnpwDistance = GetDnpwDistance(); label1.Text = dnpwDistance.ToString() + " m"; float iwTime = GetIwTime(); lblIwTime.Text = iwTime.ToString() + " sec."; } catch (Exception) { label1.Text = "ERROR"; timer1.Enabled = false; Debug.Print("Error"); //throw ; } }
static void OnUpdate(UnityModManager.ModEntry modEntry, float dt) { if (Game.instance?.sessionManager?.circuit == null) { return; } if (settings.FreeCameraKey.Down()) { var camera = App.instance?.cameraManager?.gameCamera?.freeRoamCamera; if (camera != null && camera.gameObject.activeSelf && Game.instance.sessionManager.isCircuitActive /*&& Game.instance.sessionManager.isSessionActive*/) { Traverse.Create(camera).Method("SetState", new Type[] { freeRoamCamera_State }).GetValue(freeCamActivated ? state_FollowingTarget : state_FreeRoam); } } if (settings.StickyCameraKey.Down()) { var camera = App.instance?.cameraManager?.gameCamera?.freeRoamCamera; if (camera && camera.targetVehicle != null) { var state = Traverse.Create(camera).Field("mState").GetValue(); if ((int)state == (int)state_FollowingTarget) { fixCamTarget = !fixCamTarget ? camera.targetVehicle.unityVehicle : null; fixCamRotation = camera.transform.parent.localEulerAngles - camera.targetVehicle.unityVehicle.transform.localEulerAngles; } } else { fixCamTarget = null; } } if (settings.HideUIKey.Down()) { if (UIManager.instance.currentScreen is SessionHUD sessionHUD) { var mask = 1 << LayerMask.NameToLayer("UI"); sessionHUD.sessionHUDCamera.cullingMask ^= mask; } } }