1 #ifndef GRAIL_ENTITY_GROUP_H
2 #define GRAIL_ENTITY_GROUP_H
4 #include "Blackboard.hh"
14 std::shared_ptr<AIEntity> entity;
17 EntityEntry(
const std::shared_ptr<AIEntity>& entity,
int relativePriority);
24 EntityGroup(
const std::string& name,
const std::vector<EntityEntry>& entityEntries);
26 const std::string& GetName()
const;
28 void SetId(
size_t id);
31 void AddEntityEntry(
const std::shared_ptr<AIEntity>& entity,
int relativePriority);
32 void RemoveEntityEntry(
const AIEntity& entity);
33 void AddGroupBlackboard(
const std::string& name,
const std::shared_ptr<Blackboard>& blackboard);
35 const std::vector<EntityEntry>& GetEntityEntries()
const;
36 const std::vector<std::pair<std::string, std::shared_ptr<Blackboard>>>& GetGroupBlackboards()
const;
39 size_t id = std::numeric_limits<size_t>::max();
40 std::vector<EntityEntry> entityEntries{};
41 std::vector<std::pair<std::string, std::shared_ptr<Blackboard>>> groupBlackboards{};
The AIEntity class - Defines a basic object which can execute behaviors.
Definition: AIEntity.hh:39
Definition: EntityGroup.h:21
Definition: EntityGroup.h:13