Grail (C++)  1.3.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
grail::planner::WorldObjectType Class Reference

A class representing planner WorldObject type - its name and inheritance structure. More...

#include <WorldObjectType.hh>

Inheritance diagram for grail::planner::WorldObjectType:
Collaboration diagram for grail::planner::WorldObjectType:

Public Member Functions

 WorldObjectType (MemoryPool *memory)
 
 WorldObjectType (MemoryPool *memory, const std::string &name, const std::vector< std::string > &bases={})
 
 WorldObjectType (const WorldObjectType &other)
 
 WorldObjectType (WorldObjectType &&other)=default
 
WorldObjectTypeoperator= (const WorldObjectType &)=delete
 
WorldObjectTypeoperator= (WorldObjectType &&)=delete
 
bool IsOfType (unsigned int type) const
 
bool IsOfType (const std::string &typeName) const
 
void SetTypeIndex (unsigned int id)
 
void InheritFromType (const WorldObjectType &type)
 
unsigned int GetTypeIndex () const
 
const std::string & GetName () const
 
const std::vector< std::string > & GetBaseTypes () const
 
class WorldObject InstantiateObject () const
 
- Public Member Functions inherited from grail::planner::ParametrizedObject
void MergeParameters (const ParametrizedObject &other)
 MergeParameters - Adds other parameters to own, replacing parameter with other in case of conflict. More...
 
std::size_t GetParametersSize () const
 
bool Contains (const std::string &paramName) const
 
template<typename ParameterType >
void SetParameter (const std::string &paramName, const ParameterType &paramValue)
 
template<typename ParameterType >
ParameterType GetParameterValue (const std::string &paramName) const
 
bool CollectionContains (const std::string &collectionName, unsigned int objectIndex) const
 
void AddCollection (const std::string &collectionName)
 
std::set< unsigned int > * GetCollection (const std::string &name)
 
const std::set< unsigned int > * GetCollection (const std::string &name) const
 
bool HasEqualParams (const ParametrizedObject &other) const
 
Returns
true if the other object contains identical set of parameters (including the contents of collections)

 
void SetSerializeSnapshotFunction (std::function< void(const ParametrizedObject &object, std::map< std::string, std::string > &nameValues)> function)
 SetSerializeSnapshotFunction - Sets a function serializing a snapshot of parameter values to string. More...
 
ParametrizedObjectoperator= (const ParametrizedObject &other)
 
ParametrizedObjectoperator= (ParametrizedObject &&other)=default
 

Additional Inherited Members

- Protected Member Functions inherited from grail::planner::ParametrizedObject
 ParametrizedObject (MemoryPool *memory)
 
 ParametrizedObject (const ParametrizedObject &other)
 
 ParametrizedObject (ParametrizedObject &&other)=default
 
- Protected Attributes inherited from grail::planner::ParametrizedObject
std::map< std::string, ObjectParameter * > parameters {}
 
std::map< std::string, std::set< unsigned int > > indexCollections {}
 
MemoryPoolmemory
 

Detailed Description

A class representing planner WorldObject type - its name and inheritance structure.

Constructor & Destructor Documentation

◆ WorldObjectType()

grail::planner::WorldObjectType::WorldObjectType ( MemoryPool memory,
const std::string &  name,
const std::vector< std::string > &  bases = {} 
)

Constructs a WorldObjectType inheriting from bases with specified names Full WorldObjectType data construction is finished only after it's passed to Domain class


The documentation for this class was generated from the following files: