Grail (C++)
1.1.1
A multi-platform, modular, universal engine for embedding advanced AI in games.
GoalSelector.hh
1
#ifndef GRAIL_GOAL_SELECTOR_H
2
#define GRAIL_GOAL_SELECTOR_H
3
4
#include "Goal.hh"
5
6
namespace
grail
7
{
8
namespace
planning
9
{
10
class
IGoalAcceptor
11
{
12
public
:
13
virtual
void
SetNewGoal(std::unique_ptr<Goal> newGoal,
AIEntity
& entity) = 0;
14
virtual
const
Goal
* GetCurrentGoal()
const
= 0;
15
};
16
19
class
GoalSelector
20
{
21
public
:
22
GoalSelector
() =
default
;
23
GoalSelector
(
const
GoalSelector
&) =
default
;
24
GoalSelector
(
GoalSelector
&&) =
default
;
25
26
virtual
~
GoalSelector
() =
default
;
27
28
GoalSelector
& operator =(
const
GoalSelector
&) =
default
;
29
GoalSelector
& operator =(
GoalSelector
&&) =
default
;
30
32
virtual
void
UpdateGoal
(
IGoalAcceptor
& goalAcceptor,
AIEntity
& entity) = 0;
33
};
34
}
35
}
36
#endif //GRAIL_GOAL_SELECTOR_H
grail::planning::IGoalAcceptor
Definition:
GoalSelector.hh:10
grail::AIEntity
The AIEntity class - Defines a basic object which can execute behaviors.
Definition:
AIEntity.hh:39
grail::planning::GoalSelector::UpdateGoal
virtual void UpdateGoal(IGoalAcceptor &goalAcceptor, AIEntity &entity)=0
This method should invoke goalAcceptor.setNewGoal whenever a new goal is selected.
grail::planning::GoalSelector
Definition:
GoalSelector.hh:19
grail::planning::Goal
Represents a planner goal, used by PlannerReasoner.
Definition:
Goal.hh:14
GrailPlanners
GoalSelector.hh
Generated by
1.8.17