Kaynağa Gözat

Set csv file for calibration dynamically in unity

Nick Steyer 1 yıl önce
ebeveyn
işleme
07fc20e2c8

+ 1 - 0
Assets/Scenes/Calibration.unity

@@ -280,6 +280,7 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 9113063bb18312e4e8212e4124aab528, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
+  calibrationCsvPath: C:\Users\nick.steyer\SmartStreetLight\StreetLight\Calibration.csv
 --- !u!4 &1915020870
 Transform:
   m_ObjectHideFlags: 0

+ 8 - 1
Assets/StreetLight/Poco/CalibrationPoint.cs

@@ -1,7 +1,9 @@
-using UnityEngine;
+using System.Diagnostics;
+using UnityEngine;
 
 namespace Assets.StreetLight.Poco
 {
+    [DebuggerDisplay("{" + nameof(GetDebuggerDisplay) + "(),nq}")]
     public class CalibrationPoint
     {
         public Vector3 WorldPosition { get; }
@@ -12,5 +14,10 @@ namespace Assets.StreetLight.Poco
             WorldPosition = worldPosition;
             UnityPosition = unityPosition;
         }
+
+        private string GetDebuggerDisplay()
+        {
+            return $"World: {WorldPosition}, Unity: {UnityPosition}";
+        }
     }
 }

+ 4 - 8
Assets/StreetLight/Scripts/PersonManager.cs

@@ -1,16 +1,12 @@
 using Assets.StreetLight.Adapters;
 using Assets.StreetLight.Interfaces;
 using Assets.StreetLight.Poco;
-using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Globalization;
 using System.IO;
 using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Text;
-using System.Threading;
+using UnityEditor;
 using UnityEngine;
 
 namespace Assets.StreetLight.Scripts
@@ -20,15 +16,15 @@ namespace Assets.StreetLight.Scripts
         public ObservableCollection<Person> Persons { get; private set; }
         public PositionCalculator PositionCalculator { get; private set; }
 
+        public string calibrationCsvPath;
+
         private IPersonDetector personDetector;
 
         void Start()
         {
-            var filePath = @"C:\Users\nick.steyer\SmartStreetLight\StreetLight\Calibration.csv";
-
             var calibrationPoints = new List<CalibrationPoint>();
 
-            var lines = File.ReadAllLines(filePath);
+            var lines = File.ReadAllLines(calibrationCsvPath);
             foreach (var line in lines.Skip(1))
             {
                 var coordinates = line.Split(',').Skip(1).ToArray();