This class represents a single unit of a specific type.
std::shared_ptr< const unit > unit_const_ptr
entity_location(const map_location &loc, std::size_t id=0)
Constructor for when an event has a location but not necessarily a unit.
bool matches_unit(const unit_map::const_iterator &un_it) const
Determines if un_it matches (using underlying ID) the unit that was supplied when this was constructe...
static const entity_location null_entity
std::size_t id_
The underlying ID of the unit associated with this.
bool matches_unit_filter(const unit_map::const_iterator &un_it, const unit_filter &filter) const
Determines if un_it matches filter.
map_location filter_loc_
This map_location allows a unit to be filtered as if it were somewhere other than where it is.
const map_location & filter_loc() const
unit_const_ptr get_unit() const
Encapsulates the map of the game.