1 #ifndef GRAIL_SYNCHRONIZED_ENTITY_CONTAINER_H
2 #define GRAIL_SYNCHRONIZED_ENTITY_CONTAINER_H
22 const std::pair<std::shared_ptr<AIEntity>,
int> operator [](std::size_t index);
24 void SetData(
const std::vector<std::pair<std::shared_ptr<AIEntity>,
int>>& newData);
26 void ChangeStatus(std::size_t index, Status newStatus);
27 Status GetStatus(std::size_t index);
29 int GetCurrentPriority();
30 void SetNextPriority();
33 std::vector<std::pair<std::shared_ptr<AIEntity>,
int>> data{};
34 std::atomic<std::size_t> dataDone{};
35 std::atomic<std::size_t> priorityDone{};
38 std::atomic<int> lowestPriority = { std::numeric_limits<int>::max() };
39 std::atomic<int> highestPriority = { std::numeric_limits<int>::min() };
40 std::atomic<int> currentPriority = { 0 };
41 std::map<int, std::atomic<std::size_t>> entitiesPerPriority{};
Definition: SynchronizedEntityContainer.h:13