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)); }
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; } } }
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); } }
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); } }
public static GameDict GetGameDict() { GameDict wrapper = JsonUtility.FromJson <GameDict>(Resources.Load <TextAsset>("GameDict").text); return(wrapper); }