!XT (Code) Update copyright headers in Code/Sandbox.
[CRYENGINE.git] / Code / Sandbox / EditorQt / AI / AiBehavior.h
blobca860d6055a536e13e2c819a3864ecb67fd5e6c6
1 // Copyright 2001-2018 Crytek GmbH / Crytek Group. All rights reserved.
3 #ifndef __aibehavior_h__
4 #define __aibehavior_h__
6 #if _MSC_VER > 1000
7 #pragma once
8 #endif
10 /** AI Behavior definition.
12 class CAIBehavior : public _i_reference_target_t
14 public:
15 CAIBehavior() {};
16 virtual ~CAIBehavior() {};
18 void SetName(const string& name) { m_name = name; }
19 const string& GetName() { return m_name; }
21 //! Set name of script that implements this behavior.
22 void SetScript(const string& script) { m_script = script; };
23 const string& GetScript() const { return m_script; };
25 //! Get human readable description of this goal.
26 const string& GetDescription() { return m_description; }
27 //! Set human readable description of this goal.
28 void SetDescription(const string& desc) { m_description = desc; }
30 //! Force reload of script file.
31 void ReloadScript();
33 //! Start editing script file in Text editor.
34 void Edit();
36 private:
37 string m_name;
38 string m_description;
39 string m_script;
42 /** AICharacter behaviour definition.
44 class CAICharacter : public _i_reference_target_t
46 public:
47 CAICharacter() {};
48 virtual ~CAICharacter() {};
50 void SetName(const string& name) { m_name = name; }
51 const string& GetName() { return m_name; }
53 //! Set name of script that implements this behavior.
54 void SetScript(const string& script) { m_script = script; };
55 const string& GetScript() const { return m_script; };
57 //! Get human readable description of this goal.
58 const string& GetDescription() { return m_description; }
59 //! Set human readable description of this goal.
60 void SetDescription(const string& desc) { m_description = desc; }
62 //! Force reload of script file.
63 void ReloadScript();
65 //! Start editing script file in Text editor.
66 void Edit();
68 private:
69 string m_name;
70 string m_description;
71 string m_script;
74 typedef TSmartPtr<CAIBehavior> CAIBehaviorPtr;
75 typedef TSmartPtr<CAICharacter> CAICharacterPtr;
77 #endif // __aibehavior_h__