Table of Contents

Class WaterTile

Namespace
TinyLife.World
Assembly
Tiny Life.dll

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>)

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 string
name string
price int
textures Dictionary<Point, TextureRegion>
regions Dictionary<Direction2, Point[]>
colorSettings ColorSettings
colors int[]
canBuy bool
pathCostModifier float
categories Tile.Category
icon TextureRegion
regionWeights 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 Map

The map.

pos Point

The position of the tile.

floor int

The floor of the tile.

x int

The offset from pos in the x axis.

y int

The 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 GameTime

The game's current time.

batch object

The sprite batch to use for drawing, which can either be a Microsoft.Xna.Framework.Graphics.SpriteBatch or a MLEM.Graphics.StaticSpriteBatch.

map Map

The map that the tile is on.

pos Point

The position that the tile is on.

floor int

The floor that this tile is on.

drawPos Vector2

The position, in screen space, to draw at.

scale float

The scale to draw the tile with.

depthOffset float

A 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 bool

Whether 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.