예제 #1
0
        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 ;
            }
        }
예제 #2
0
        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;
                }
            }
        }