コード例 #1
0
        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);
            }
        }
コード例 #2
0
        private void OnGameState(PC2GameStatePacket gameState)
        {
            var convertedState = ToSessionType(gameState.sessionState);

            UpdateIfChanged(convertedState);
        }