Example #1
0
 public Map(Game.Level level = Game.Level.Normal)
 {
     History  = new GameHistory();
     MapField = new MapField();
     _command = new MoveCommand(MapField, History);
     _level   = level;
 }
Example #2
0
    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();
    }
Example #3
0
 public void SetLevel(Game.Level level)
 {
     _level = level;
 }