public PC2BasePacket CreateVersion8(PC2RawPacket rawPacket) { var meta = PC2PacketMeta.Create(rawPacket); switch (meta.packetType) { case PC2PacketType.Telemetry: return(PCars2TelemetryData.Create(rawPacket, meta)); case PC2PacketType.Timings: return(PCars2Timings.Create(rawPacket, meta)); case PC2PacketType.TimeStats: return(PCars2TimeStatsData.Create(rawPacket, meta)); case PC2PacketType.GameState: return(PC2GameStatePacket.Create(rawPacket, meta)); case PC2PacketType.RaceDefinition: return(PC2RaceDefinition.Create(rawPacket, meta)); case PC2PacketType.Participants: case PC2PacketType.WeatherState: case PC2PacketType.VehicleNames: case PC2PacketType.ParticipantVehicleNames: default: throw new NotImplementedException("Project Cars 2 packet type not handled: " + meta.packetType); } }
private void OnGameState(PC2GameStatePacket gameState) { var convertedState = ToSessionType(gameState.sessionState); UpdateIfChanged(convertedState); }