public static void DeserializeGrid(IMapManagerInternal mapMan, MapId mapId, ref GridId?gridId, YamlMappingNode info, YamlSequenceNode chunks, IReadOnlyDictionary <ushort, string> tileDefMapping, ITileDefinitionManager tileDefinitionManager) { ushort csz = 0; ushort tsz = 0; float sgsz = 0.0f; foreach (var kvInfo in info) { var key = kvInfo.Key.ToString(); var val = kvInfo.Value.ToString(); if (key == "chunksize") { csz = ushort.Parse(val); } else if (key == "tilesize") { tsz = ushort.Parse(val); } else if (key == "snapsize") { sgsz = float.Parse(val); } } var grid = mapMan.CreateGridNoEntity(mapId, gridId); gridId = grid.Index; foreach (var chunkNode in chunks.Cast <YamlMappingNode>()) { DeserializeChunk(mapMan, grid, chunkNode, tileDefMapping, tileDefinitionManager); } }
public static void DeserializeGrid(IMapManager mapMan, IMap map, ref GridId?gridId, YamlMappingNode info, YamlSequenceNode chunks) { ushort csz = 0; ushort tsz = 0; float sgsz = 0.0f; foreach (var kvInfo in info) { var key = kvInfo.Key.ToString(); var val = kvInfo.Value.ToString(); if (key == "csz") { csz = ushort.Parse(val); } else if (key == "tsz") { tsz = ushort.Parse(val); } else if (key == "sgsz") { sgsz = float.Parse(val); } } var grid = map.CreateGrid(gridId, csz, sgsz); gridId = grid.Index; foreach (YamlMappingNode chunkNode in chunks.Cast <YamlMappingNode>()) { DeserializeChunk(mapMan, grid, chunkNode); } }
public static void DeserializeGrid(IMapManager mapMan, IMap map, ref GridId?gridId, YamlMappingNode info, YamlSequenceNode chunks, IReadOnlyDictionary <ushort, string> tileDefMapping, ITileDefinitionManager tileDefinitionManager) { ushort csz = 0; ushort tsz = 0; float sgsz = 0.0f; var worldPos = Vector2.Zero; foreach (var kvInfo in info) { var key = kvInfo.Key.ToString(); var val = kvInfo.Value.ToString(); if (key == "chunksize") { csz = ushort.Parse(val); } else if (key == "tilesize") { tsz = ushort.Parse(val); } else if (key == "snapsize") { sgsz = float.Parse(val); } else if (key == "worldpos") { worldPos = kvInfo.Value.AsVector2(); } } var grid = map.CreateGrid(gridId, csz, sgsz); gridId = grid.Index; foreach (YamlMappingNode chunkNode in chunks.Cast <YamlMappingNode>()) { DeserializeChunk(mapMan, grid, chunkNode, tileDefMapping, tileDefinitionManager); } }
public static MapGrid DeserializeGrid(IMapManagerInternal mapMan, MapId mapId, YamlMappingNode info, YamlSequenceNode chunks, IReadOnlyDictionary <ushort, string> tileDefMapping, ITileDefinitionManager tileDefinitionManager) { ushort csz = 0; ushort tsz = 0; float sgsz = 0.0f; foreach (var kvInfo in info) { var key = kvInfo.Key.ToString(); var val = kvInfo.Value.ToString(); if (key == "chunksize") { csz = ushort.Parse(val); } else if (key == "tilesize") { tsz = ushort.Parse(val); } else if (key == "snapsize") { sgsz = float.Parse(val, CultureInfo.InvariantCulture); } } //TODO: Pass in options var grid = mapMan.CreateUnboundGrid(mapId); foreach (var chunkNode in chunks.Cast <YamlMappingNode>()) { DeserializeChunk(mapMan, grid, chunkNode, tileDefMapping, tileDefinitionManager); } return(grid); }