public static Level Deserialize(System.IO.Stream stream, Game1 game, GFX.TileSet set) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); int count = reader.ReadInt32(); Level level = new Level(game, set); for (int i = 0; i < count; i++) { level.mapLayers.Add(GFX.MapLayer.Deserialize(stream, level, set)); } for (int y = 0; y < level.mapLayers[0].Map.Height; y++) { for (int x = 0; x < level.mapLayers[0].Map.Width; x++) { if (level.GetTile(x, y).IsExtended) { if (level.GetTile(x, y).Extended.Events.Count > 0) { for (int i = 0; i < level.GetTile(x, y).Extended.Events.Count; i++) { level.events.Add(level.GetTile(x, y).Extended.Events[i]); } } } } } return(level); }
public static Level LoadLevel(string input, Game1 game, GFX.TileSet set) { System.IO.FileStream file = new System.IO.FileStream(input, System.IO.FileMode.Open); System.IO.Compression.GZipStream zips = new System.IO.Compression.GZipStream(file, System.IO.Compression.CompressionMode.Decompress); Level level = Level.Deserialize(zips, game, set); zips.Close(); return(level); }
public Level(Game1 game, GFX.TileSet set) { this.game = game; this.tileSet = set; game.Camera.Limits = new Rectangle(0, 0, 30 * 32, 200 * 32); sprites = new List <Sprite>(); events = new List <Events.TileEvent>(); eventHandler = new Events.EventHandler(this); mapLayers = new List <GFX.MapLayer>(); player = new Player(this); sprites.Add(player); collisionManager = new CollisionManager(); }
public TileMap(GFX.TileSet set, int width, int height) { tiles = new TileData[width, height]; this.set = set; this.width = width; this.height = height; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { tiles[x, y] = new TileData(0); } } }
public static TileMap Deserialize(System.IO.Stream stream, GFX.TileSet set) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); int width = reader.ReadInt32(), height = reader.ReadInt32(); TileMap map = new TileMap(set, width, height); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { map.tiles[x, y] = TileData.Deserialize(stream, x, y); } } return(map); }