i live in spain but the S is silent
All checks were successful
Build and push image / Build (push) Successful in 49s

This commit is contained in:
Jack
2023-09-28 00:53:27 +01:00
parent 2c62cd03fa
commit 4d94fbf54f
279 changed files with 5474 additions and 6863 deletions

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public struct BroadcastingEvent
{
public BroadcastingCarEventType Type { get; internal set; }
public string Msg { get; internal set; }
public int TimeMs { get; internal set; }
public int CarId { get; internal set; }
public CarInfo CarData { get; internal set; }
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public class CarInfo
{
public ushort CarIndex { get; }
public byte CarModelType { get; internal set; }
public string TeamName { get; internal set; }
public int RaceNumber { get; internal set; }
public byte CupCategory { get; internal set; }
public int CurrentDriverIndex { get; internal set; }
public IList<DriverInfo> Drivers { get; } = new List<DriverInfo>();
public NationalityEnum Nationality { get; internal set; }
public CarInfo(ushort carIndex)
{
CarIndex = carIndex;
}
internal void AddDriver(DriverInfo driverInfo)
{
Drivers.Add(driverInfo);
}
public string GetCurrentDriverName()
{
if (CurrentDriverIndex < Drivers.Count)
return Drivers[CurrentDriverIndex].LastName;
return "nobody(?)";
}
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public struct DriverInfo
{
public string FirstName { get; internal set; }
public string LastName { get; internal set; }
public string ShortName { get; internal set; }
public DriverCategory Category { get; internal set; }
public NationalityEnum Nationality { get; internal set; }
}
}

View File

@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public class LapInfo
{
public int? LaptimeMS { get; internal set; }
public List<int?> Splits { get; } = new List<int?>();
public ushort CarIndex { get; internal set; }
public ushort DriverIndex { get; internal set; }
public bool IsInvalid { get; internal set; }
public bool IsValidForBest { get; internal set; }
public LapType Type { get; internal set; }
public override string ToString()
{
return $"{LaptimeMS, 5}|{string.Join("|", Splits)}";
}
}
}

View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public struct RealtimeCarUpdate
{
public int CarIndex { get; internal set; }
public int DriverIndex { get; internal set; }
public int Gear { get; internal set; }
public float WorldPosX { get; internal set; }
public float WorldPosY { get; internal set; }
public float Yaw { get; internal set; }
public CarLocationEnum CarLocation { get; internal set; }
public int Kmh { get; internal set; }
public int Position { get; internal set; }
public int TrackPosition { get; internal set; }
public float SplinePosition { get; internal set; }
public int Delta { get; internal set; }
public LapInfo BestSessionLap { get; internal set; }
public LapInfo LastLap { get; internal set; }
public LapInfo CurrentLap { get; internal set; }
public int Laps { get; internal set; }
public ushort CupPosition { get; internal set; }
public byte DriverCount { get; internal set; }
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public struct RealtimeUpdate
{
public int EventIndex { get; internal set; }
public int SessionIndex { get; internal set; }
public SessionPhase Phase { get; internal set; }
public TimeSpan SessionTime { get; internal set; }
public TimeSpan RemainingTime { get; internal set; }
public TimeSpan TimeOfDay { get; internal set; }
public float RainLevel { get; internal set; }
public float Clouds { get; internal set; }
public float Wetness { get; internal set; }
public LapInfo BestSessionLap { get; internal set; }
public ushort BestLapCarIndex { get; internal set; }
public ushort BestLapDriverIndex { get; internal set; }
public int FocusedCarIndex { get; internal set; }
public string ActiveCameraSet { get; internal set; }
public string ActiveCamera { get; internal set; }
public bool IsReplayPlaying { get; internal set; }
public float ReplaySessionTime { get; internal set; }
public float ReplayRemainingTime { get; internal set; }
public TimeSpan SessionRemainingTime { get; internal set; }
public TimeSpan SessionEndTime { get; internal set; }
public RaceSessionType SessionType { get; internal set; }
public byte AmbientTemp { get; internal set; }
public byte TrackTemp { get; internal set; }
public string CurrentHudPage { get; internal set; }
}
}

View File

@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ksBroadcastingNetwork.Structs
{
public struct TrackData
{
public string TrackName { get; internal set; }
public int TrackId { get; internal set; }
public float TrackMeters { get; internal set; }
public Dictionary<string, List<string>> CameraSets { get; internal set; }
public IEnumerable<string> HUDPages { get; internal set; }
}
}