Atoms Crowd  4.1.0
GetClosestAgentBehaviour.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 GetClosestAgentBehaviour : public Behaviour
16  {
17  public:
18 
20 
21  virtual ~GetClosestAgentBehaviour();
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 setAttributes(const AtomsCore::MapMetadata* attributes, Blackboard* blackboard) override;
30 
31  virtual void getAttributes(AtomsCore::MapMetadata* attributes, Blackboard* blackboard) override;
32 
33  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
34 
35  static Behaviour* creator();
36 
37  public:
38 
39  BlackboardStringArrayValue agentGroups;
40 
41  BlackboardStringValue agentIdBlackboardKey;
42 
43  BlackboardStringValue conditionMetadataName;
44 
45  BlackboardMetadataValue conditionMetadataValue;
46 
47  BlackboardVector3Value position;
48 
49  BlackboardVector3Value direction;
50 
51  BlackboardDoubleValue distance;
52 
53  BlackboardDoubleValue coneAngle;
54  };
55 }
Atoms::Blackboard
Definition: Blackboard.h:35
Atoms::GetClosestAgentBehaviour
Definition: GetClosestAgentBehaviour.h:16
Atoms::BlackboardValue< std::vector< std::string > >
Atoms::Behaviour::State
Definition: Behaviour.h:34
Atoms
Atoms namespace.
Definition: Agent.h:28
AtomsCore::MapMetadata
MapMetadata class.
Definition: MapMetadata.h:24
Atoms::Behaviour
Definition: Behaviour.h:21
Atoms::BehaviourTreeContext
Definition: BehaviourTreeContext.h:24