Parking/Assets/Scripts/DataImporter.cs
2022-09-01 22:31:57 +02:00

64 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Runtime.Serialization;
using UnityEngine;
namespace Parking
{
public class DataImporter
{
public static List<Driver> Drivers = new();
public static void ReadFile(string path)
{
var fileData = File.ReadAllText(path);
var lines = fileData.Split("\n"[0]);
var counter = 0;
foreach (var line in lines)
{
if (counter == 0)
{
counter++;
continue;
}
var lineData = line.Trim().Split(',');
var preference = lineData[0] == ""
? ParkingPreference.Any
: lineData[0] == "P"
? ParkingPreference.Front
: ParkingPreference.Back;
Size size;
switch (lineData[1])
{
case "Mały":
size = Size.A;
break;
case "Średni":
size = Size.B;
break;
case "Duży":
size = Size.C;
break;
case "Max":
size = Size.D;
break;
default:
size = Size.A;
break;
}
DateTime realArrival = DateTime.Parse(lineData[4].Contains(':') ? lineData[4] : lineData[4] + ":00", CultureInfo.InvariantCulture);
DateTime realDeparture = DateTime.Parse(lineData[5].Contains(':') ? lineData[5] : lineData[5] + ":00", CultureInfo.InvariantCulture);
Driver driver = new Driver(size, counter, preference);
driver.Times = new[] {realArrival, realDeparture};
Drivers.Add(driver);
counter++;
}
}
}
}