depend on factory data instead of BuildingSystem in the AI path

This commit is contained in:
2026-08-05 06:44:49 +02:00
parent 46932e4abf
commit 0408336cf9
17 changed files with 238 additions and 126 deletions

View File

@@ -1,4 +1,5 @@
#include "DeliverScrapExecutor.h"
#include "FactoryQueries.h"
#include <QVector2D>
@@ -12,7 +13,7 @@
#include "SelectedBehaviorComponent.h"
#include "tracing.h"
void DeliverScrapExecutor::execute(EntityAdmin& admin, const BuildingSystem& buildings)
void DeliverScrapExecutor::execute(EntityAdmin& admin, const FactoryState& state)
{
TRACE();
admin.forEach<DeliverScrapBehavior, SelectedBehaviorComponent, PositionComponent,
@@ -26,7 +27,7 @@ void DeliverScrapExecutor::execute(EntityAdmin& admin, const BuildingSystem& bui
QVector2D dest = pos.value;
if (deliver.deliveryBay.has_value())
{
const Building* bay = buildings.findBuilding(*deliver.deliveryBay);
const Building* bay = findBuilding(state, *deliver.deliveryBay);
if (bay)
{
dest = QVector2D(bay->anchor.x() + bay->footprint.width() / 2.0f,