|
Grail (C++)
1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
3 #ifndef GRAIL_WORLD_STATE_H
4 #define GRAIL_WORLD_STATE_H
8 #include "WorldObject.hh"
9 #include "../Domain.hh"
30 const std::vector<WorldObject>& worldObjects);
38 bool operator==(
const WorldState& other)
const;
45 const std::vector<std::vector<unsigned int>>& precedingParameterLists,
46 unsigned int searchedTypeIndex)
const;
63 const std::map<unsigned int, WorldObject>&
GetObjectMap()
const;
66 std::shared_ptr<Domain>
GetDomain()
const;
78 void AddQueuedObjects();
79 void RemoveQueuedObjects();
82 std::vector<const WorldObject*>
GetObjectsOfType(
const std::string& typeName)
const;
91 std::shared_ptr<Domain> domain =
nullptr;
92 std::map<unsigned int, WorldObject> objects{};
93 std::vector<WorldObject> objectsToAdd{};
94 std::vector<unsigned int> indicesToRemove{};
96 unsigned int nextIndex = 1;
101 #endif //GRAIL_WORLD_STATE_H
std::vector< std::vector< unsigned int > > GenerateParameterLists(const std::vector< std::vector< unsigned int >> &precedingParameterLists, unsigned int searchedTypeIndex) const
For internal use only.
Definition: WorldState.cpp:174
Definition: WorldObject.hh:20
Definition: WorldState.hh:20
WorldState(MemoryPool *memory, const std::shared_ptr< Domain > &domain, const std::vector< WorldObject > &worldObjects)
Definition: WorldState.cpp:11
int CountObjectsOfType(const std::string &typeName) const
Definition: WorldState.cpp:135
std::vector< const WorldObject * > GetObjectsOfType(const std::string &typeName) const
Definition: WorldState.cpp:107
The MemoryPool class - preallocated memory container for optimization issues.
Definition: MemoryPool.hh:79
std::shared_ptr< Domain > GetDomain() const
Definition: WorldState.cpp:149
const std::map< unsigned int, WorldObject > & GetObjectMap() const
Definition: WorldState.cpp:76
const WorldObject * GetObjectByIndex(unsigned int index) const
Definition: WorldState.cpp:56
The base class for parametrized objects (objects with parameters) used by the planning algorithm for ...
Definition: ParametrizedObject.hh:30
std::vector< class Action > GetLegalActions() const
Definition: WorldState.cpp:30
void RemoveObject(unsigned int objectIndex)
Definition: WorldState.cpp:81
WorldObject & AddObject(const std::string &typeName)
Definition: WorldState.cpp:47