mirror of
https://github.com/ncblakely/GiantsTools
synced 2024-12-23 15:57:22 +01:00
24 lines
984 B
C
24 lines
984 B
C
|
#pragma once
|
||
|
|
||
|
#include "BehaviorBase.h"
|
||
|
#include "AI/Public/Components/GetEquipmentBehaviorState.h"
|
||
|
|
||
|
namespace AI
|
||
|
{
|
||
|
class GetEquipmentBehavior : public BehaviorBase<GetEquipmentBehaviorState>
|
||
|
{
|
||
|
public:
|
||
|
static InnerBehaviorTree Build(ECS::Entity* entity);
|
||
|
|
||
|
private:
|
||
|
// Nodes
|
||
|
static bool NeedsEquipment(ECS::Entity* entity, Object* object, BehaviorTreeContext& context);
|
||
|
static bool SetMoveGoals(ECS::Entity* entity, Object* object, BehaviorTreeContext& context);
|
||
|
static beehive::Status MoveToShop(ECS::Entity* entity, Object* object, BehaviorTreeContext& context);
|
||
|
static beehive::Status EquipSelf(ECS::Entity* entity, Object* object, BehaviorTreeContext& context);
|
||
|
|
||
|
static void EquipMeccLoadout(ECS::Entity* entity, Object* object, Object* shop);
|
||
|
static void EquipReaperLoadout(ECS::Entity* entity, Object* object, Object* shop);
|
||
|
static P3D SelectShopRefPt(Object* object, Object* shop);
|
||
|
};
|
||
|
}
|