Class TileTool
A tool is a type of game mode that is currently active. Tools are split up into the PlayModeTool and BuildTools, the latter of which holds all tools that can be found in the build menu.
public class TileTool : Tool
- Inheritance
-
TileTool
- Inherited Members
- Extension Methods
Constructors
TileTool()
public TileTool()
Methods
CanPlaceForTooltip()
Returns whether or not the tool should currently be considered to be able to place objects for a tooltip displayed to the player.
public override CanPlaceResult CanPlaceForTooltip()
Returns
- CanPlaceResult
A CanPlaceResult that represents whether the tool should be considered to be able to place objects.
CanUndoRedo(bool)
Returns whether or not the UndoRedoStack can currently operate and thus, whether the Undo() or Redo() actions can be called.
public override bool CanUndoRedo(bool cursorOnUi)
Parameters
cursorOnUi
bool
Returns
- bool
Whether the undo or redo commands can be used right now.
Draw(GameTime, SpriteBatch, bool)
This method is called every draw frame for the CurrentTool. By default, this method invokes OnDraw.
public override void Draw(GameTime time, SpriteBatch batch, bool cursorOnUi)
Parameters
time
GameTimeThe game's time
batch
SpriteBatchThe sprite batch used for drawing
cursorOnUi
boolWhether the cursor is currently covering the ui.
GetMouseCursor()
Returns the CursorType that this tool should currently display. By default, Default is returned.
public override CursorType GetMouseCursor()
Returns
- CursorType
The cursor type
InitBuildModeUi(Panel, Panel)
Override this method to add custom content to the passed ui elements. By default, this method does nothing.
protected override void InitBuildModeUi(Panel content, Panel zoom)
Parameters
content
PanelThe main content panel. Add custom BuildModeButton(string, GenericCallback, DrawCallback, float, TextureRegion, string, IEnumerable<string>, float?) instances here.
zoom
PanelThe zoom panel that contains ColorSelection(ColorSettings, Action<int, int>, Func<int, int, bool>) and object previews
RemoveTileIncompatibleFurniture(Tile, Point, int, UndoableAction)
Removes all of the furniture in the given pos
that is incompatible with the given tile
's Tile.Category, and tries to store it into the household storage, or sells it, using StoreOrRemoveFurniture(Furniture, UndoableAction).
public static void RemoveTileIncompatibleFurniture(Tile tile, Point pos, int floor, UndoableAction action)
Parameters
tile
TileThe tile to query.
pos
PointThe position to query.
floor
intThe floor to query.
action
UndoableActionThe undoable action that the removal is added to.
ShouldHighlightSelectedObject(object)
Whether or not the SelectedObject should currently have a white highlight around it. This method defaults to return true if IsCursorOnUi() is false.
public override bool ShouldHighlightSelectedObject(object obj)
Parameters
Returns
- bool
Whether or not the selected object should be highlighted
Update(GameTime, bool)
This method is called every update frame for the CurrentTool. By default, this method updates the MousePos and invokes OnUpdate, and also manages the UndoRedoStack.
public override void Update(GameTime time, bool cursorOnUi)
Parameters
time
GameTimeThe game's time
cursorOnUi
boolWhether the cursor is currently covering the ui.
Events
OnBuildModeButton
An event that is invoked when this tool's build mode buttons are created using BuildModeButton(string, GenericCallback, DrawCallback, float, TextureRegion, string, IEnumerable<string>, float?). The button that is created is passed as the second argument, and can be modified based on the object type.
public static event Action<Tile, Button> OnBuildModeButton