make EntityAdmin::hasAll const
Asking whether an entity has components does not write to the registry, and entt's all_of is const. Callers that only read were forced to take the admin -- and through it the whole simulation -- by non-const reference to ask; the selection bounds helpers now say what they mean. Widening a member to const breaks nothing: every existing caller still binds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcReq7hVk4KUPhTDKWAG7K
This commit is contained in:
@@ -29,22 +29,20 @@ std::optional<QRectF> getBuildingWidgetRect(const FactoryState& state,
|
||||
BuildingId id);
|
||||
|
||||
// The body of a ship or of a defence station (REQ-UI-ENTITY-CLICK-SELECT): a station's
|
||||
// footprint, or the square the ship's triangle is drawn in. The admin is taken by
|
||||
// non-const reference only because EntityAdmin::hasAll() is not const; nothing here
|
||||
// writes to it.
|
||||
std::optional<QRectF> getActorWidgetRect(EntityAdmin& admin,
|
||||
// footprint, or the square the ship's triangle is drawn in.
|
||||
std::optional<QRectF> getActorWidgetRect(const EntityAdmin& admin,
|
||||
const WorldCoordinates& coordinates,
|
||||
entt::entity actor);
|
||||
|
||||
// The circle a piece of debris is drawn as (REQ-UI-DEBRIS-CLICK-SELECT).
|
||||
std::optional<QRectF> getDebrisWidgetRect(EntityAdmin& admin,
|
||||
std::optional<QRectF> getDebrisWidgetRect(const EntityAdmin& admin,
|
||||
const WorldCoordinates& coordinates,
|
||||
entt::entity debris);
|
||||
|
||||
// The rectangle covering a whole selection -- one object, or the bounding box of all of
|
||||
// them (REQ-UI-SELECTION-PANEL). Objects that no longer resolve are skipped; the result
|
||||
// is null when none of them does.
|
||||
QRect getSelectionWidgetRect(Simulation& sim, const WorldCoordinates& coordinates,
|
||||
QRect getSelectionWidgetRect(const Simulation& sim, const WorldCoordinates& coordinates,
|
||||
const std::vector<BuildingId>& buildings,
|
||||
const std::vector<entt::entity>& actors,
|
||||
const std::vector<entt::entity>& debris);
|
||||
|
||||
Reference in New Issue
Block a user