Linux makefiles
[canaan.git] / prj / cam / src / shock / shkaijra.h
blobfd82a0f431c1a01a4e0b8d4cfd27f3fc1740b808
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 ///////////////////////////////////////////////////////////////////////////////
7 // $Header: r:/t2repos/thief2/src/shock/shkaijra.h,v 1.2 1998/07/14 11:13:00 JON Exp $
8 //
9 // AI joint rotate
12 #ifndef __SHKAIJRA_H
13 #define __SHKAIJRA_H
15 #include <aiapiiai.h>
16 #include <aibasact.h>
18 #pragma once
19 #pragma pack(4)
21 ///////////////////////////////////////////////////////////////////////////////
23 // CLASS: cAIJointRotateAction
25 // Rotate a joint (don't move the object)
28 class cAIJointRotateAction : public cAIAction
30 public:
31 cAIJointRotateAction(IAIAbility * pOwner, DWORD data = 0);
33 // Set up action parameters
34 void Set(int jointID, floatang targetAng, floatang rotateSpeed);
35 void Set(int jointID, ObjID targetObj, floatang rotateSpeed);
37 // Update the action
38 STDMETHOD_(eAIResult, Update)();
40 // Start the action
41 STDMETHOD_(eAIResult, Enact)(ulong deltaTime);
43 private:
44 int m_jointID;
45 ObjID m_targetID;
46 floatang m_targetAng;
47 floatang m_rotateSpeed;
50 ////////////////////////////////////////
52 inline cAIJointRotateAction::cAIJointRotateAction(IAIAbility * pOwner, DWORD data)
53 : cAIAction(kAIAT_JointRotate, pOwner, data),
54 m_targetID(OBJ_NULL)
58 #pragma pack()
60 #endif /* !__SHKAIJRA_H */