rename EntityId to BuildingId

This commit is contained in:
2026-05-23 07:53:56 +02:00
parent dc4ebd5f2d
commit b57299fd2a
28 changed files with 273 additions and 274 deletions

View File

@@ -116,7 +116,7 @@ GameWorldView::GameWorldView(Simulation* sim, const GameConfig* config,
, m_ghostValid(false)
, m_dragging(false)
, m_demolishMode(false)
, m_demolishHoverId(kInvalidEntityId)
, m_demolishHoverBuildingId(kInvalidBuildingId)
, m_debugDraw(false)
, m_rng(std::random_device{}())
, m_boxSelecting(false)
@@ -412,7 +412,7 @@ bool GameWorldView::isValidPlacement(BuildingType type, QPoint anchor,
return true;
}
EntityId GameWorldView::buildingAtTile(QPoint tile) const
BuildingId GameWorldView::buildingAtTile(QPoint tile) const
{
for (const Building& b : m_sim->buildings().allBuildings())
{
@@ -424,10 +424,10 @@ EntityId GameWorldView::buildingAtTile(QPoint tile) const
}
}
}
return kInvalidEntityId;
return kInvalidBuildingId;
}
EntityId GameWorldView::siteAtTile(QPoint tile) const
BuildingId GameWorldView::siteAtTile(QPoint tile) const
{
for (const ConstructionSite& s : m_sim->buildings().allSites())
{
@@ -439,7 +439,7 @@ EntityId GameWorldView::siteAtTile(QPoint tile) const
}
}
}
return kInvalidEntityId;
return kInvalidBuildingId;
}
@@ -495,7 +495,7 @@ void GameWorldView::placeBlueprintAtTile(QPoint center)
for (const BlueprintBuilding& bb : bp.buildings)
{
const QPoint anchor = center + bb.offset;
const std::optional<EntityId> rotateTarget =
const std::optional<BuildingId> rotateTarget =
m_sim->buildings().findRotateInPlaceTarget(bb.type, anchor, bb.rotation);
if (rotateTarget.has_value())
{
@@ -503,8 +503,8 @@ void GameWorldView::placeBlueprintAtTile(QPoint center)
continue;
}
const EntityId id = m_sim->tryPlaceBuilding(bb.type, anchor, bb.rotation);
if (id == kInvalidEntityId || bb.recipeId.empty()) { continue; }
const BuildingId id = m_sim->tryPlaceBuilding(bb.type, anchor, bb.rotation);
if (id == kInvalidBuildingId || bb.recipeId.empty()) { continue; }
if (bb.type == BuildingType::Shipyard)
{
@@ -533,7 +533,7 @@ void GameWorldView::placeAtTile(QPoint tile)
return;
}
const std::optional<EntityId> rotateTarget =
const std::optional<BuildingId> rotateTarget =
m_sim->buildings().findRotateInPlaceTarget(type, tile, m_ghostRotation);
if (rotateTarget.has_value())
{
@@ -549,9 +549,9 @@ void GameWorldView::placeAtTile(QPoint tile)
}
if (!m_sim->buildings().isTileOccupied(tile))
{
const EntityId id = m_sim->tryPlaceBuilding(
const BuildingId id = m_sim->tryPlaceBuilding(
type, tile, m_ghostRotation);
if (id != kInvalidEntityId)
if (id != kInvalidBuildingId)
{
m_beltDragTiles.insert(tile);
}
@@ -563,8 +563,8 @@ void GameWorldView::placeAtTile(QPoint tile)
{
if (!m_sim->buildings().isTileOccupied(tile))
{
const EntityId id = m_sim->tryPlaceBuilding(type, tile, m_ghostRotation);
if (id != kInvalidEntityId)
const BuildingId id = m_sim->tryPlaceBuilding(type, tile, m_ghostRotation);
if (id != kInvalidBuildingId)
{
if (type == BuildingType::TunnelEntry)
{
@@ -677,7 +677,7 @@ void GameWorldView::drawBuildings(QPainter& painter)
}
bool selected = false;
for (EntityId selId : m_selectedIds)
for (BuildingId selId : m_selectedBuildingIds)
{
if (selId == b.id) { selected = true; break; }
}
@@ -957,9 +957,9 @@ void GameWorldView::drawOverlays(QPainter& painter)
}
// Demolish hover tint
if (m_demolishMode && m_demolishHoverId != kInvalidEntityId)
if (m_demolishMode && m_demolishHoverBuildingId != kInvalidBuildingId)
{
const Building* b = m_sim->buildings().findBuilding(m_demolishHoverId);
const Building* b = m_sim->buildings().findBuilding(m_demolishHoverBuildingId);
if (b)
{
for (const QPoint& cell : b->bodyCells)
@@ -1168,55 +1168,55 @@ void GameWorldView::mousePressEvent(QMouseEvent* event)
}
else if (m_demolishMode)
{
EntityId hovered = buildingAtTile(tile);
if (hovered == kInvalidEntityId)
BuildingId hovered = buildingAtTile(tile);
if (hovered == kInvalidBuildingId)
{
hovered = siteAtTile(tile);
}
if (hovered != kInvalidEntityId)
if (hovered != kInvalidBuildingId)
{
const Building* b = m_sim->buildings().findBuilding(hovered);
const bool isProtected = b && b->type == BuildingType::Hq;
if (!isProtected)
{
m_sim->demolish(hovered);
m_demolishHoverId = kInvalidEntityId;
m_demolishHoverBuildingId = kInvalidBuildingId;
}
}
}
else
{
EntityId id = buildingAtTile(tile);
if (id == kInvalidEntityId)
BuildingId id = buildingAtTile(tile);
if (id == kInvalidBuildingId)
{
id = siteAtTile(tile);
}
if (id != kInvalidEntityId)
if (id != kInvalidBuildingId)
{
if (event->modifiers() & Qt::ControlModifier)
{
bool found = false;
std::vector<EntityId> newSel;
for (EntityId sel : m_selectedIds)
std::vector<BuildingId> newSel;
for (BuildingId sel : m_selectedBuildingIds)
{
if (sel == id) { found = true; }
else { newSel.push_back(sel); }
}
if (!found) { newSel.push_back(id); }
m_selectedIds = newSel;
m_selectedBuildingIds = newSel;
}
else
{
m_selectedIds = { id };
m_selectedBuildingIds = { id };
}
emit selectionChanged(m_selectedIds);
emit selectionChanged(m_selectedBuildingIds);
}
else
{
if (!(event->modifiers() & Qt::ControlModifier))
{
m_selectedIds.clear();
emit selectionChanged(m_selectedIds);
m_selectedBuildingIds.clear();
emit selectionChanged(m_selectedBuildingIds);
}
m_boxSelecting = true;
m_boxStartTile = tile;
@@ -1245,7 +1245,7 @@ void GameWorldView::mouseMoveEvent(QMouseEvent* event)
}
else if (m_demolishMode)
{
m_demolishHoverId = buildingAtTile(tile);
m_demolishHoverBuildingId = buildingAtTile(tile);
}
else if (m_boxSelecting)
{
@@ -1272,7 +1272,7 @@ void GameWorldView::mouseReleaseEvent(QMouseEvent* event)
const int x1 = std::max(m_boxStartTile.x(), m_boxCurrentTile.x());
const int y1 = std::max(m_boxStartTile.y(), m_boxCurrentTile.y());
std::vector<EntityId> boxSel;
std::vector<BuildingId> boxSel;
for (const Building& b : m_sim->buildings().allBuildings())
{
for (const QPoint& cell : b.bodyCells)
@@ -1300,21 +1300,21 @@ void GameWorldView::mouseReleaseEvent(QMouseEvent* event)
if (!(event->modifiers() & Qt::ControlModifier))
{
m_selectedIds = boxSel;
m_selectedBuildingIds = boxSel;
}
else
{
for (EntityId id : boxSel)
for (BuildingId id : boxSel)
{
bool found = false;
for (EntityId sel : m_selectedIds)
for (BuildingId sel : m_selectedBuildingIds)
{
if (sel == id) { found = true; break; }
}
if (!found) { m_selectedIds.push_back(id); }
if (!found) { m_selectedBuildingIds.push_back(id); }
}
}
emit selectionChanged(m_selectedIds);
emit selectionChanged(m_selectedBuildingIds);
}
}
@@ -1327,7 +1327,7 @@ void GameWorldView::toggleDemolishMode()
if (m_demolishMode)
{
m_demolishMode = false;
m_demolishHoverId = kInvalidEntityId;
m_demolishHoverBuildingId = kInvalidBuildingId;
}
else
{
@@ -1393,9 +1393,9 @@ void GameWorldView::resetForNewGame()
m_ghostRotation = Rotation::East;
m_ghostValid = false;
m_demolishMode = false;
m_demolishHoverId = kInvalidEntityId;
m_demolishHoverBuildingId = kInvalidBuildingId;
emit demolishModeChanged(false);
m_selectedIds.clear();
m_selectedBuildingIds.clear();
m_boxSelecting = false;
m_scrollXTiles = 0.0f;
m_scrollLeft = false;