载入中...
搜索中...
未找到
HexUnits.h
浏览该文件的文档.
28 [[nodiscard]] HexMoveRules moveRules() const noexcept { return HexMoveRules{speed, visionRange}; }
82 [[nodiscard]] std::int32_t unitCount() const noexcept { return static_cast<std::int32_t>(units_.size()); }
96 [[nodiscard]] Result<std::int32_t> addUnit(HexMap& map, HexVisibility& visibility, HexSearchContext& scratch,
103 [[nodiscard]] Result<void> removeUnit(HexMap& map, HexVisibility& visibility, HexSearchContext& scratch,
145 [[nodiscard]] Result<void> beginTravel(HexMap& map, HexVisibility& visibility, HexSearchContext& scratch,
165 [[nodiscard]] Result<HexUnitSample> advance(HexMap& map, HexVisibility& visibility, HexSearchContext& scratch,
195 [[nodiscard]] Result<void> restore(HexMap& map, HexVisibility& visibility, HexSearchContext& scratch,
237 [[nodiscard]] Result<HexUnitSample> makeSample(const HexMap& map, std::int32_t unitId, const Unit& unit) const;
Cell-graph search used by pathfinding and visibility.
Reference-counted cell visibility and explored state.
Move-only, checked operation results for the common layer.
Reusable search scratch: one record per cell plus a priority bucket queue.
Definition HexSearch.h:68
Owns the units of one map and their fog-of-war contribution.
Definition HexUnits.h:69
void setTuning(const HexUnitTuning &tuning) noexcept
Replaces the tuning; ongoing travel keeps its plan but uses the new speed.
Definition HexUnits.h:77
bool isOccupied(HexCoordinates coordinates) const noexcept
Whether any unit occupies a cell.
Definition HexUnits.h:118
Fog-of-war bookkeeping: how many viewers currently see each cell.
Definition HexVisibility.h:32
Definition HexCell.h:9
std::function< bool(HexCoordinates)> HexOccupancyQuery
Predicate answering whether a cell is already occupied by another actor.
Definition HexSearch.h:143
Movement tuning of one actor; cells per turn and vision radius in cells.
Definition HexSearch.h:130
HexCoordinates travelFrom
Cell the unit is currently walking away from, or (0, 0) when idle.
Definition HexUnits.h:46
HexCoordinates location
Cell the unit occupies; for a travelling unit this is its destination.
Definition HexUnits.h:44
std::int32_t locationIndex
Linear index of the occupied cell, or -1 when the unit is not on the grid.
Definition HexUnits.h:34
Per-unit tuning shared by every unit of a registry.
Definition HexUnits.h:17
std::int32_t visionRange
Vision radius in cells, matching HexMoveRules::visionRange.
Definition HexUnits.h:21
HexMoveRules moveRules() const noexcept
The pathfinding rules implied by this tuning.
Definition HexUnits.h:28
Minimal 3-component float vector used by the hex mesh builders.
Definition HexMetrics.h:18