convert line ends
[canaan.git] / prj / cam / src / ai / aiactprx.h
blobd6d21eed97ad02c28f291e1f21c0100ebe15a5a2
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/ai/aiactprx.h,v 1.2 1999/03/04 13:30:34 TOML Exp $
8 //
9 //
12 #ifndef __AIACTPRX_H
13 #define __AIACTPRX_H
15 #include <aibasact.h>
17 #pragma once
18 #pragma pack(4)
20 ///////////////////////////////////////////////////////////////////////////////
22 // CLASS: cAIProxAction
25 class cAIProxAction : public cAIAction
27 public:
28 cAIProxAction(IAIAction * pInner, IAIActor * pOwner, DWORD data = 0);
29 ~cAIProxAction();
31 // Describe the action, in detailed human terms
32 STDMETHOD_(void, Describe)(cStr * pStr);
34 // Access the internals of the action
35 STDMETHOD_(BOOL, InProgress)();
36 STDMETHOD_(tAIActionType, GetType)();
37 STDMETHOD_(eAIResult, GetResult)();
38 STDMETHOD_(DWORD, GetData)(unsigned index = 0);
39 STDMETHOD_(const sAIAction *, Access)();
41 STDMETHOD_(BOOL, IsProxy)();
42 STDMETHOD_(IAIAction *, GetInnerAction)();
43 STDMETHOD_(IAIAction *, GetTrueAction)();
44 STDMETHOD_(IAIActor *, GetTrueOwner)();
46 // Update the action
47 STDMETHOD_(eAIResult, Update)();
49 // Start the action. Instantaneous actions will return result
50 STDMETHOD_(eAIResult, Enact)(ulong deltaTime);
52 // Terminate the action
53 STDMETHOD_(eAIResult, End)();
55 private:
56 IAIAction * m_pInner;
59 ///////////////////////////////////////////////////////////////////////////////
61 #pragma pack()
63 #endif /* !__AIACTPRX_H */