Class WaterTile
A water tile is a tile that draws with an animation, as well as a static part that represents the borders of the water.
public class WaterTile : AutoTile
- Inheritance
-
WaterTile
- Inherited Members
- Extension Methods
Constructors
WaterTile(string, string, int, Dictionary<Point, TextureRegion>, Dictionary<Direction2, Point[]>, ColorSettings, int[], bool, float, Category, TextureRegion, Func<Point, float>)
Creates a new tile with the given settings. To create an instance of a custom tile class, use Register(string, int, Dictionary<Point, TextureRegion>, Point, ColorScheme, float, bool, Category, TextureRegion, Func<Direction2, Point?>, int?, Func<Point, float>, Type).
protected WaterTile(string baseName, string name, int price, Dictionary<Point, TextureRegion> textures, Dictionary<Direction2, Point[]> regions, ColorSettings colorSettings, int[] colors, bool canBuy, float pathCostModifier, Tile.Category categories, TextureRegion icon, Func<Point, float> regionWeights)
Parameters
baseName
stringname
stringprice
inttextures
Dictionary<Point, TextureRegion>regions
Dictionary<Direction2, Point[]>colorSettings
ColorSettingscolors
int[]canBuy
boolpathCostModifier
floatcategories
Tile.Categoryicon
TextureRegionregionWeights
Func<Point, float>
Methods
ConnectsToTile(Map, Point, int, int, int, Func<Point, int, Tile>)
Override this method to determine what other tiles this auto-tile should connect to. By default, auto-tiles connect to other tiles of the same type.
protected override bool ConnectsToTile(Map map, Point pos, int floor, int x, int y, Func<Point, int, Tile> getRelatedTileFunc = null)
Parameters
map
MapThe map.
pos
PointThe position of the tile.
floor
intThe floor of the tile.
x
intThe offset from
pos
in the x axis.y
intThe offset from
pos
in the y axis.getRelatedTileFunc
Func<Point, int, Tile>A function that can optionally be supplied to override the GetTile(Point, int) method when checking for neighboring tiles. This is useful for when tile placement in the world is mocked, for example.
Returns
- bool
Whether this tile should connect to the tile at the offset position.
Draw(GameTime, object, Map, Point, int, Vector2, float, float, ICollection<Item>, bool, Func<Point, int, Tile>)
Draws this tile at the given position in the world using a Microsoft.Xna.Framework.Graphics.SpriteBatch or MLEM.Graphics.StaticSpriteBatch
public override bool Draw(GameTime time, object batch, Map map, Point pos, int floor, Vector2 drawPos, float scale, float depthOffset, ICollection<StaticSpriteBatch.Item> items, bool hasStaticContext, Func<Point, int, Tile> getRelatedTileFunc = null)
Parameters
time
GameTimeThe game's current time.
batch
objectThe sprite batch to use for drawing, which can either be a Microsoft.Xna.Framework.Graphics.SpriteBatch or a MLEM.Graphics.StaticSpriteBatch.
map
MapThe map that the tile is on.
pos
PointThe position that the tile is on.
floor
intThe floor that this tile is on.
drawPos
Vector2The position, in screen space, to draw at.
scale
floatThe scale to draw the tile with.
depthOffset
floatA depth offset that can optionally be added to this tile's draw depth.
items
ICollection<StaticSpriteBatch.Item>The MLEM.Graphics.StaticSpriteBatch.Item collection that added items can optionally be added to.
hasStaticContext
boolWhether this tile also has a static context, that is, whether it will already be drawn using a MLEM.Graphics.StaticSpriteBatch.
getRelatedTileFunc
Func<Point, int, Tile>A function that can optionally be supplied to override the GetTile(Point, int) method when checking for neighboring tiles. This is useful for when tile placement in the world is mocked, for example.
Returns
- bool
Whether this tile was fully drawn. If the
batch
is a MLEM.Graphics.StaticSpriteBatch and false is returned, this tile will be marked as an animated tile, causing it to draw every frame.