Atoms Crowd  4.1.0
Optional.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/Decorator.h>
11 
12 namespace Atoms
13 {
14  class ATOMS_EXPORT Optional : public Decorator
15  {
16  public:
17 
18  Optional();
19 
20  virtual ~Optional();
21 
22  static const char* staticTypeName();
23 
24  virtual const char* typeName() const override;
25 
26  virtual void initialize(BehaviourTreeContext* context, State* data) override;
27 
28  virtual void update(BehaviourTreeContext* context, State* data) override;
29 
30  virtual void onChildUpdated(BehaviourTreeContext* context, State* data, unsigned int childIndex, unsigned short childStatus) override;
31 
32  virtual void getAttributeProperties(AtomsCore::MapMetadata* attributes) override;
33 
34  static Behaviour* creator();
35 
36  public:
37 
38  };
39 }
Atoms::Decorator
Definition: Decorator.h:16
Atoms::Behaviour::State
Definition: Behaviour.h:34
Atoms
Atoms namespace.
Definition: Agent.h:28
AtomsCore::MapMetadata
MapMetadata class.
Definition: MapMetadata.h:24
Atoms::Optional
Definition: Optional.h:15
Atoms::Behaviour
Definition: Behaviour.h:21
Atoms::BehaviourTreeContext
Definition: BehaviourTreeContext.h:24