public Map(Game.Level level = Game.Level.Normal) { History = new GameHistory(); MapField = new MapField(); _command = new MoveCommand(MapField, History); _level = level; }
public void saveLevel(string path, int levelIndex, Player playerObject) { gamePrefabs = new Dictionary <string, MapObject>(); gameTextures = new Dictionary <string, Texture>(); Game.Level levelData = new Game.Level(); levelData.TimeLimit = timeLimit; // Save the player in the first level if (levelIndex == 0 && playerObject != null) { Game.GameObject player = saveMapObject(playerObject, 3, 0, 0); levelData.GameObjects.Add(player); } // Save all map tiles in each alyer for (int l = 0; l < numLayers; l++) { var layer = levelLayers[l]; for (int r = 0; r < rowCount; r++) { var row = layer.rows[r]; for (int c = 0; c < columnCount; c++) { if (row.mapObjs[c]) { Game.GameObject gameObject = saveMapObject(row.mapObjs[c], l, c, r); levelData.GameObjects.Add(gameObject); } } } } var prefabMetas = saveGamePrefabs(path); foreach (var prefabMetaFile in prefabMetas) { levelData.resources.Add(prefabMetaFile); } var textureAssetMetas = saveTextureAssets(path); foreach (var textureAssetMetaFile in textureAssetMetas) { levelData.resources.Add(textureAssetMetaFile); } var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; var json = JsonConvert.SerializeObject(levelData, settings); StreamWriter writer = new StreamWriter(path + "/Levels/level_" + levelIndex.ToString() + ".json"); writer.Write(json); writer.Close(); }
public void SetLevel(Game.Level level) { _level = level; }