Atoms Crowd  7.0.0
SuccessBehaviour.h
1 #pragma once
2 // ===========================================================================
3 // Copyright (c) 2015 Toolchefs Ltd. All rights reserved.
4 //
5 // Use of this software is subject to the terms of the Toolchefs license
6 // agreement provided at the time of installation or download, or which
7 // otherwise accompanies this software in either electronic or hard copy form.
8 // ===========================================================================
9 
10 #include <Atoms/BehaviourTree/Behaviour.h>
11 #include <Atoms/BehaviourTree/BlackboardValue.h>
12 
13 namespace Atoms
14 {
15  class ATOMS_EXPORT SuccessBehaviour : public Behaviour
16  {
17  public:
18 
20 
21  virtual ~SuccessBehaviour();
22 
23  virtual const char* typeName() const override;
24 
25  static const char* staticTypeName();
26 
27  virtual void update(BehaviourTreeContext* context, State* data) override;
28 
29  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
30 
31  static Behaviour* creator();
32  };
33 
34  class ATOMS_EXPORT FailureBehaviour : public Behaviour
35  {
36  public:
37 
39 
40  virtual ~FailureBehaviour();
41 
42  virtual const char* typeName() const override;
43 
44  static const char* staticTypeName();
45 
46  virtual void update(BehaviourTreeContext* context, State* data) override;
47 
48  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
49 
50  static Behaviour* creator();
51  };
52 
53  class ATOMS_EXPORT RunningBehaviour : public Behaviour
54  {
55  public:
56 
58 
59  virtual ~RunningBehaviour();
60 
61  virtual const char* typeName() const override;
62 
63  static const char* staticTypeName();
64 
65  virtual void update(BehaviourTreeContext* context, State* data) override;
66 
67  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
68 
69  static Behaviour* creator();
70  };
71 }
Definition: Behaviour.h:21
Definition: BehaviourTreeContext.h:24
Definition: SuccessBehaviour.h:35
Definition: SuccessBehaviour.h:54
Definition: SuccessBehaviour.h:16
MapMetadata class.
Definition: MapMetadata.h:24
Atoms namespace.
Definition: Agent.h:29
Definition: Behaviour.h:34