Пример #1
0
        public static GameDataWorker WorkerForGame(
            this GameDict games,
            GameID gameID,
            ITransmitConnection connection,
            Action <TelemetryDatapool> processCallback)
        {
            var dataReader    = games.DataReaderForGame(gameID);
            var dataProcessor = games.DataProcessForGame(gameID, connection);

            dataProcessor.ProcessedCallback += processCallback;

            return(new GameDataWorker(dataReader, dataProcessor));
        }
Пример #2
0
    public DictionaryManager()
    {
        GameDict data = GetGameDict();

        ColorsList        = data.ColorList;
        DefaultShapesDict = new Dictionary <string, ShapeData>();
        if (data.DefaultStart != null)
        {
            for (int i = 0; i < data.DefaultStart.Count; i++)
            {
                ShapeData shapeData = data.DefaultStart[i];
                DefaultShapesDict[shapeData.ShapeId] = shapeData;
            }
        }
    }
Пример #3
0
        public static IGameDataProcessor DataProcessForGame(
            this GameDict games,
            GameID ID,
            ITransmitConnection connection)
        {
            switch (ID)
            {
            case GameID.RaceRoomExperience:
                return(new RaceRoomDataProcessor(connection));

            case GameID.ProjectCars2:
                return(new ProjectCarsDataProcessor(connection));

            case GameID.DirtRally:
                return(new DirtRallyDataReader(connection));

            default:
                return(null);
            }
        }
Пример #4
0
        public static IGameDataReader DataReaderForGame(this GameDict games, GameID ID)
        {
            switch (ID)
            {
            case GameID.RaceRoomExperience:
                return(new SharedMemoryDataReader(
                           Games.R3E.SharedMemory.Name,
                           Games.R3E.SharedMemory.Size));

            case GameID.ProjectCars2:
                return(new SharedMemoryDataReader(
                           Games.ProjectCars.SharedMemory.Name,
                           Games.ProjectCars.SharedMemory.Size));

            case GameID.DirtRally:
                return(new UDPDataReader(20777, Games.Codemasters.DataInfo.ExtraData3Size));

            default:
                return(null);
            }
        }
Пример #5
0
    public static GameDict GetGameDict()
    {
        GameDict wrapper = JsonUtility.FromJson <GameDict>(Resources.Load <TextAsset>("GameDict").text);

        return(wrapper);
    }