/// <summary> /// Draws tile /// </summary> /// <param name="spriteBatch">Sprite batch being used to draw</param> /// <param name="tileTexture">Sprite sheet for tiles</param> /// <param name="destination">Where to draw it on screen</param> /// <param name="tiles">What tile to draw</param> public void DrawTile(SpriteBatch spriteBatch, Texture2D tileTexture, Vector2 destination, TileDictionary tiles) { Rectangle tileRect = new Rectangle((int)tiles.GetTile(_tileName).X * 32, (int)tiles.GetTile(_tileName).Y * 32, tileTexture.Width / 30, tileTexture.Height / 32); spriteBatch.Draw(tileTexture, destination, tileRect, Color.White); foreach (String entity in _entities) { Rectangle entityRect = new Rectangle((int)tiles.GetTile(entity).X * 32, (int)tiles.GetTile(entity).Y * 32, tileTexture.Width / 30, tileTexture.Height / 32); spriteBatch.Draw(tileTexture, destination, entityRect, Color.White); } }
/// <summary> /// Draws the visibility of a tile /// </summary> /// <param name="spriteBatch">Sprite batch being used to draw</param> /// <param name="tileTexture">Sprite sheet for tiles</param> /// <param name="destination">Where to draw tile</param> /// <param name="tiles">What tile to draw</param> public void DrawTileVisibility(SpriteBatch spriteBatch, Texture2D tileTexture, Vector2 destination, TileDictionary tiles) { if (!this._visible && this._seen) { Rectangle visRect = new Rectangle((int)tiles.GetTile("mesh").X * 32, (int)tiles.GetTile("mesh").Y * 32, tileTexture.Width / 30, tileTexture.Height / 32); spriteBatch.Draw(tileTexture, destination, visRect, Color.White); } else if (!this._visible) { Rectangle visRect = new Rectangle((int)tiles.GetTile("dngn_unseen").X * 32, (int)tiles.GetTile("dngn_unseen").Y * 32, tileTexture.Width / 30, tileTexture.Height / 32); spriteBatch.Draw(tileTexture, destination, visRect, Color.White); } }