public MapManager(IGameData gameData, IMapReader mapReader, ITilesetReader tilesetReader, ILabdataReader labdataReader) { foreach (var tilesetFile in gameData.Files["Icon_data.amb"].Files) { var tileset = Tileset.Load(tilesetReader, tilesetFile.Value); tilesets.Add((uint)tilesetFile.Key, tileset); tileset.Index = (uint)tilesetFile.Key; } // Map 1-256 -> File 1 // Map 300-369 -> File 2 // Map 257-299, 400-455, 513-528 -> File 3 for (int i = 1; i <= 3; ++i) { var file = gameData.Files[$"{i}Map_data.amb"]; var textFiles = gameData.Files[$"{i}Map_texts.amb"]; foreach (var mapFile in file.Files) { uint index = (uint)mapFile.Key; var textFile = textFiles.Files.ContainsKey(mapFile.Key) ? textFiles.Files[mapFile.Key] : null; maps.Add(index, Map.Load(index, mapReader, mapFile.Value, textFile, tilesets)); } } foreach (var labdataFile in gameData.Files["2Lab_data.amb"].Files) // Note: 2Lab_data.amb and 3Lab_data.amb both contain all lab data files { var labdata = Labdata.Load(labdataReader, labdataFile.Value, gameData); labdatas.Add((uint)labdataFile.Key, labdata); } }
public GameScreen(Tanks tanksGame, IMapReader mapReader, IContentReader contentReader) { _tanksGame = tanksGame; _mapReader = mapReader; _contentReader = contentReader; map = _mapReader.ReadMapForLevel(1); }
public static Map Load(uint index, IMapReader mapReader, IDataReader dataReader, IDataReader textDataReader, Dictionary <uint, Tileset> tilesets) { var map = new Map { Index = index }; mapReader.ReadMap(map, dataReader, textDataReader, tilesets); return(map); }
public MapTransform(PipelineContext context, IMapReader mapReader) : base(context) { _input = SingleInput(); foreach (var item in mapReader.Read(context)) { var from = _input.Convert(item.From); if (item.To == string.Empty) { var field = context.Entity.GetField(item.Parameter); _map[from] = (r) => r[field]; } else { var to = context.Field.Convert(item.To); _map[from] = (r) => to; } } if (!_map.ContainsKey(CATCH_ALL)) { var value = context.Field.Convert(context.Field.Default); _map[CATCH_ALL] = (r) => value; } }
public void Register(IMapReader mapReader) { _pipeline.Register(mapReader); }
public void Register(IMapReader mapReader) { Context.Debug(() => $"Registering {mapReader.GetType().Name}."); MapReaders.Add(mapReader); }
public MapReaderAction(IContext context, Map map, IMapReader mapReader) { _context = context; _map = map; _mapReader = mapReader; }
public MapController(IMapReader mapReader) { _mapReader = mapReader; }