00001 // ----------------------------------------------------------------------- // 00002 // 00003 // MODULE : playersrvr.h 00004 // 00005 // PURPOSE : CPlayerSrvr object class - Definition 00006 // 00007 // CREATED : 02/11/01 00008 // 00009 // (c) 2001 LithTech, Inc. All Rights Reserved 00010 // 00011 // ----------------------------------------------------------------------- // 00012 00013 #ifndef __PLAYER_SRVR_H__ 00014 #define __PLAYER_SRVR_H__ 00015 00016 00017 // Engine includes 00018 #include <ltengineobjects.h> 00019 #include <autoview/autoview.h> 00020 00021 00023 class LTCollisionSphere; 00024 00025 00027 class CPlayerSrvr : public BaseClass 00028 { 00029 public: 00030 // Construction / destruction 00031 CPlayerSrvr(); 00032 virtual ~CPlayerSrvr(); 00033 00034 distr_class(CPlayerSrvr); 00035 00036 uint32 EngineMessageFn(uint32 messageID, void *pData, float fData); 00037 uint32 ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead); 00038 00039 // Called when client updates the associated values 00040 virtual void RemotePositionUpdate(LTVector3f& newPosition); 00041 virtual void RemoteRotationUpdate(LTOrientation& newOrientation); 00042 virtual void RemoteVelocityUpdate(LTVector3f& newVelocity); 00043 virtual void RemoteAngularVelocityUpdate(LTVector3f& newAngVelocity); 00044 00045 void SetClient(HCLIENT hClient); 00046 void OnMessage(uint8 messageID, HMESSAGEREAD hMessage); 00047 00048 protected: 00049 // EngineMessageFn handlers 00050 00051 uint32 PreCreate(void *pData, float fData); 00052 void ObjectCreated(); 00053 void Update(); 00054 00055 // Members 00056 HCLIENT m_hClient; // The client associated with this object 00057 00058 distr_uint32(m_ClientID, AVITEM_REG, 10, 0); 00059 00060 LTCollisionSphere* m_pCollSphere; // Collision sphere for player. 00061 }; 00062 00063 00064 #endif // __PLAYER_SRVR_H__