1
0
mirror of https://github.com/ncblakely/GiantsTools synced 2024-11-27 16:13:09 +01:00
GiantsTools/Sdk/Include/AI/Public/Behaviors/GetEquipmentBehavior.h

24 lines
984 B
C
Raw Normal View History

2021-01-24 00:40:09 +01:00
#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);
};
}