convert line ends
[canaan.git] / prj / cam / src / ai / airecovr.h
blob056e98a1d1ef77d751e41faa0d6839f630843aad
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/ai/airecovr.h,v 1.1 1998/10/03 11:24:05 TOML Exp $
8 //
9 // Ability that attempts to recover from an out-of-world situation
12 #ifndef __AIRECOVR_H
13 #define __AIRECOVR_H
15 #include <aiapicmp.h>
16 #include <aibasabl.h>
17 #include <aiutils.h>
19 #pragma once
20 #pragma pack(4)
22 ///////////////////////////////////////////////////////////////////////////////
24 // CLASS: cAIRecover
27 class cAIRecover : public cAIAbility
29 public:
30 cAIRecover();
31 ~cAIRecover();
33 // Standard component methods
34 STDMETHOD_(const char *, GetName)();
35 STDMETHOD_(void, Init)();
37 STDMETHOD_(void, OnBeginFrame)(const cAIGoal * pPrevious, const cAIGoal * pGoal);
38 STDMETHOD_(void, OnActionProgress)(IAIAction * pAction);
40 // Ability flow
41 STDMETHOD (SuggestGoal)(cAIGoal *, cAIGoal **);
42 STDMETHOD (SuggestActions)(cAIGoal * pGoal, const cAIActions & previous, cAIActions * pNew);
44 private:
45 // Get the "best" watch point
46 BOOL SeekTarget();
47 BOOL CheckTrigger(sAIWatchPoint *);
48 void StopCurrent();
50 static void LGAPI LinkListenFunc(sRelationListenMsg* msg, RelationListenerData data);
51 friend BOOL AIInitWatchAbility(IAIManager *);
53 // Failure timeout timer
54 cAITimer m_Timer;
56 // Current watch
57 sAIWatchPoint * m_pWatch;
60 static BOOL gm_fSelfLinkEdit;
64 ///////////////////////////////////////////////////////////////////////////////
66 #pragma pack()
68 #endif /* !__AIRECOVR_H */