refactor AI system
This commit is contained in:
21
src/lib/ecs/system/ai/SalvageScrapExecutor.cpp
Normal file
21
src/lib/ecs/system/ai/SalvageScrapExecutor.cpp
Normal file
@@ -0,0 +1,21 @@
|
||||
#include "SalvageScrapExecutor.h"
|
||||
|
||||
#include "BehaviorKind.h"
|
||||
#include "EntityAdmin.h"
|
||||
#include "MovementIntentComponent.h"
|
||||
#include "SalvageScrapBehavior.h"
|
||||
#include "SelectedBehaviorComponent.h"
|
||||
#include "tracing.h"
|
||||
|
||||
void SalvageScrapExecutor::execute(EntityAdmin& admin)
|
||||
{
|
||||
TRACE();
|
||||
admin.forEach<SalvageScrapBehavior, SelectedBehaviorComponent, MovementIntentComponent>(
|
||||
[](entt::entity /*e*/, const SalvageScrapBehavior& salvage,
|
||||
const SelectedBehaviorComponent& selected, MovementIntentComponent& intent)
|
||||
{
|
||||
if (selected.winner != BehaviorKind::SalvageScrap) { return; }
|
||||
if (!salvage.scrapTarget) { return; }
|
||||
intent = MovementIntentComponent{true, *salvage.scrapTarget};
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user