72 void move(std::shared_ptr<Piece> gamePiece);
glm::i8vec2 getNextCellDirection() const
Gets an integral vector pointing to the location of the next House, relative to this one.
Definition house.hpp:123
glm::i8vec2 mNextCell
Direction to the location of the next House, relative to this one.
Definition house.hpp:153
bool canMove(const Piece &gamePiece) const
Tests whether a given piece can move into this house.
Definition house.cpp:3
Type mType
The type of House this one is.
Definition house.hpp:159
Type getType() const
Gets which type of house this house is.
Definition house.hpp:116
Type
The type of a house.
Definition house.hpp:35
Region
The region this house belongs to.
Definition house.hpp:44
bool isOccupied() const
Tests whether this house is already occupied by a game piece.
Definition house.hpp:94
bool isRosette() const
Tests whether this house is a rosette house.
Definition house.hpp:102
Region mRegion
The region in which this House lies.
Definition house.hpp:165
House(glm::i8vec2 nextCell, Type houseType, Region region)
Constructs a new House.
Definition house.hpp:57
void move(std::shared_ptr< Piece > gamePiece)
Validates and applies a move, replacing the reference to the currently occupying piece with a new one...
Definition house.cpp:28
std::weak_ptr< Piece > mOccupant
The piece occupying this house, if any.
Definition house.hpp:171
PieceIdentity getOccupant() const
Gets the identity of the piece occupying this house.
Definition house.cpp:39
Region getRegion() const
Gets the region this house belongs to.
Definition house.hpp:109
std::weak_ptr< Piece > getOccupantReference()
Gets a reference to the piece already occupying this house, if any.
Definition house.hpp:79
The state of a single piece of the game.
Definition piece.hpp:52
Contains definitions for pieces belonging to different sets used by competing players.
Data uniquely identifying a piece used in the game.
Definition piece.hpp:29