Atoms Crowd  4.1.0
ConditionValue.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/BlackboardValue.h>
11 #include <Atoms/BehaviourTree/Behaviour.h>
12 
13 namespace Atoms
14 {
16  {
17  public:
18 
19  enum CheckType
20  {
21  EQUAL = 0,
22  GREATER,
23  LESS,
24  GREATEREQUAL,
25  LESSEQUAL
26  };
27 
29 
30  ~ConditionValue();
31 
32  bool checkCondition(BehaviourTreeContext* context, Behaviour::State* data);
33 
34  void setAttributes(const AtomsCore::MapMetadata* attributes, Blackboard* blackboard);
35 
36  void getAttributes(AtomsCore::MapMetadata* attributes, Blackboard* blackboard);
37 
38  void getAttributeProperties(AtomsCore::MapMetadata* attributes);
39 
40  public:
41 
44  float threshold;
45  unsigned short checkType;
46  bool invert;
47 
48  };
49 }
Atoms::ConditionValue
Definition: ConditionValue.h:16
Atoms::Blackboard
Definition: Blackboard.h:35
Atoms::BlackboardValue< AtomsPtr< AtomsCore::Metadata > >
Atoms::Behaviour::State
Definition: Behaviour.h:34
Atoms
Atoms namespace.
Definition: Agent.h:28
AtomsCore::MapMetadata
MapMetadata class.
Definition: MapMetadata.h:24
Atoms::BehaviourTreeContext
Definition: BehaviourTreeContext.h:24