using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace PGN { public class Map { List tiles; public List Tiles { get { return tiles; } set { tiles = value; } } public IOrderedEnumerable GetTilesInDrawOrder() { return from x in Tiles orderby x.Layer ascending select x; } } public class MapTile { Point position; public Point Position { get { return position; } set { position = value; } } string tilesetHash; public string TilesetHash { get { return tilesetHash; } set { tilesetHash = value; } } Point tilesetOffset; public Point TilesetOffset { get { return tilesetOffset; } set { tilesetOffset = value; } } int layer; public int Layer { get { return layer; } set { layer = value; } } PlayerPass playerPass; public PlayerPass PlayerPass { get { return playerPass; } set { playerPass = value; } } public Texture2D GetTexture() { return Utils.g.Service().GetAsset(tilesetHash).GetTexture(Utils.g.GraphicsDevice); } public Rectangle GetSourceRect() { return new Rectangle((int)TilesetOffset.X-1 * Utils.TILESIZE, (int)TilesetOffset.Y-1 * Utils.TILESIZE, Utils.TILESIZE, Utils.TILESIZE); } } }