123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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 UnityEngine;
- namespace Assets.StreetLight.Scripts
- {
- public class PersonManager : MonoBehaviour
- {
- public ObservableCollection<Person> Persons { get; private set; }
- public PositionCalculator PositionCalculator { get; private set; }
- 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);
- foreach (var line in lines.Skip(1))
- {
- var coordinates = line.Split(',').Skip(1).ToArray();
- calibrationPoints.Add(new CalibrationPoint(
- new Vector3(
- float.Parse(coordinates[0], CultureInfo.InvariantCulture),
- float.Parse(coordinates[1], CultureInfo.InvariantCulture),
- float.Parse(coordinates[2], CultureInfo.InvariantCulture)),
- new Vector3(
- float.Parse(coordinates[3], CultureInfo.InvariantCulture),
- float.Parse(coordinates[4], CultureInfo.InvariantCulture),
- float.Parse(coordinates[5], CultureInfo.InvariantCulture))));
- }
- PositionCalculator = new PositionCalculator(calibrationPoints);
- Persons = new ObservableCollection<Person>();
- personDetector = new ZedPersonDetector(FindObjectOfType<ZEDManager>());
- personDetector.PersonsDetected += PersonDetector_PersonsDetected;
- }
- private void PersonDetector_PersonsDetected(object sender, IEnumerable<Person> e)
- {
- Persons.Clear();
- foreach (var person in e)
- {
- Persons.Add(person);
- }
- }
- void Update()
- {
- }
- }
- }
|