Grail (C++)
1.1.1
A multi-platform, modular, universal engine for embedding advanced AI in games.
WorldObject.hh
1
#ifndef GRAIL_WORLD_OBJECT_H
2
#define GRAIL_WORLD_OBJECT_H
3
4
#include "WorldObjectType.hh"
5
6
#include <map>
7
#include <set>
8
9
namespace
grail
10
{
11
namespace
planning
12
{
13
class
WorldObject
:
public
ParametrizedObject
14
{
15
public
:
16
WorldObject
(
const
WorldObjectType
& type);
17
WorldObject
(
const
WorldObject
& other) =
default
;
18
WorldObject
(
WorldObject
&& other) =
default
;
19
virtual
~
WorldObject
()
override
=
default
;
20
21
bool
IsOfType(
unsigned
int
typeId)
const
;
22
bool
IsOfType(
const
std::string& typeName)
const
;
23
void
SetObjectIndex(
unsigned
int
id
);
24
unsigned
int
GetObjectIndex()
const
;
25
30
std::string
GetTypeName
()
const
;
31
bool
operator ==(
const
WorldObject
& other)
const
;
32
WorldObject
& operator =(
const
WorldObject
&) =
delete
;
33
WorldObject
& operator =(
WorldObject
&& other) =
delete
;
34
//REVIEW: problem with deleted move assigmnent, because WorldObject is used inside a class that can be moved
35
36
private
:
37
const
WorldObjectType
& type;
38
unsigned
int
objectIndex = 0;
39
};
40
}
41
}
42
#endif //GRAIL_WORLD_OBJECT_H
grail::planning::WorldObject
Definition:
WorldObject.hh:13
grail::planning::ParametrizedObject
Definition:
ParametrizedObject.h:20
grail::planning::WorldObjectType
A class representing planner WorldObject type - its name and inheritance structure.
Definition:
WorldObjectType.hh:11
grail::planning::WorldObject::GetTypeName
std::string GetTypeName() const
GetTypeName.
Definition:
WorldObject.cpp:26
GrailPlanners
Planner
WorldState
WorldObject.hh
Generated by
1.8.17