X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fcarfire;a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FTilemap.cs;h=50906a8541989b43595e3095da654990bc51aebe;hp=d0441083c4810a181e8072414890a38f179c82e2;hb=236bc590ff21370c1139a8c01ff35f7b30af743d;hpb=fc34f843ea42a3496a7ff5dd04853695ba628e8b diff --git a/CarFire/CarFire/CarFire/Tilemap.cs b/CarFire/CarFire/CarFire/Tilemap.cs index d044108..50906a8 100644 --- a/CarFire/CarFire/CarFire/Tilemap.cs +++ b/CarFire/CarFire/CarFire/Tilemap.cs @@ -8,6 +8,20 @@ using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; namespace CarFire { + /// + /// Flag options to define attributes for individual tiles. + /// + [Flags] + public enum TileFlags + { + Open = 0x01, + Closed = 0x02, + Floor = 0x04, + Wall = 0x08, + Default = 0x05 + } + + /// /// Small wrapper around a texture to provide easy access to /// tile rectangles. @@ -77,15 +91,27 @@ namespace CarFire } + /// + /// Get the flags associated with a tile character. + /// + /// Tile character. + /// Tile flags. + public TileFlags GetTileFlags(char tile) + { + return mFlags[tile]; + } + + /// /// Associate a tile character with tile coordinates. This - /// lets you access tile rectangles by character. + /// lets you access tiles by character. /// /// Tile character. /// Coordinates. - public void SetTile(char tile, Point point) + public void SetTile(char tile, Point point, TileFlags flags) { mTiles.Add(tile, GetRectangleForTile(point)); + mFlags.Add(tile, flags); } @@ -111,6 +137,7 @@ namespace CarFire int mTileW; int mTileH; Dictionary mTiles = new Dictionary(); + Dictionary mFlags = new Dictionary(); #endregion }