00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __BASE_OBJECT_SRVR_H__
00014 #define __BASE_OBJECT_SRVR_H__
00015
00016
00017
00018 #include <ltengineobjects.h>
00019 #include <autoview/autoview.h>
00020
00021 #include <physics/collision_notify.h>
00022
00024 class LTCollisionSphere;
00025
00026
00028 class CBaseObjectSrvr : public BaseClass, public ILTCollisionNotify
00029 {
00030 public:
00031
00032 CBaseObjectSrvr();
00033 virtual ~CBaseObjectSrvr();
00034
00035 distr_class(CBaseObjectSrvr);
00036
00037
00038
00039 virtual uint32 EngineMessageFn(uint32 messageID, void *pData,
00040 float fData);
00041
00042 virtual void Notify( HOBJECT hobj, const LTContactInfo& info );
00043
00044
00045
00046 bool IsCameraSync() { return !m_nCameraSync; }
00047 uint8 GetCameraSync() { return m_nCameraSync; }
00048 void SetCameraSync(uint8 nCam = 1)
00049 {m_nCameraSync = nCam;}
00050
00051 protected:
00052
00053
00054 virtual uint32 PreCreate(ObjectCreateStruct *pStruct, float fData);
00055 virtual void ObjectCreated();
00056 virtual void AllObjectsCreated();
00057 virtual void Update();
00058
00059 virtual void ParentAttachmentRemoved();
00060 virtual void LinkBroken(HOBJECT hObj);
00061
00062 virtual void LoadObject(ILTMessage* pMessage, uint32 dwParam);
00063 virtual void SaveObject(ILTMessage* pMessage, uint32 dwParam);
00064
00065 virtual void GetForceUpdateObject(ForceUpdate* pForceUpdate);
00066 virtual void ModelStringKey(ArgList* pArgList);
00067
00068 virtual void Activating();
00069 virtual void Deactivating();
00070
00071
00072
00073
00074 virtual void ReadProps(ObjectCreateStruct* pStruct);
00075 virtual void PostReadProps();
00076
00077
00078
00079 protected:
00080
00081 distr_uint8(m_nCameraSync, AVITEM_REG, 9, 0);
00082
00083 private:
00084 LTCollisionSphere* m_pCollSphere;
00085
00086 char m_szModelFile[MAX_CS_FILENAME_LEN];
00087 char m_szListFile[MAX_CS_FILENAME_LEN];
00088 char m_szTexSet[MAX_CS_FILENAME_LEN];
00089 char m_szRSSet[MAX_CS_FILENAME_LEN];
00090
00091 bool m_bDropToFloor;
00092 char m_szStartAnim[MAX_CS_FILENAME_LEN];
00093
00094 LTVector3f m_vScale;
00095 };
00096
00097
00098 #endif // __BASE_OBJECT_SRVR_H__
00099