00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __ATTACHER_H__
00014 #define __ATTACHER_H__
00015
00016
00017 #include "baseobjectsrvr.h"
00018
00019
00020 #include <ltengineobjects.h>
00021 #include <autoview/autoview.h>
00022
00023 #include <physics/collision_notify.h>
00024
00026 class CAttacher : public CBaseObjectSrvr
00027 {
00028 public:
00029
00030 CAttacher();
00031 virtual ~CAttacher();
00032
00033
00034
00035
00036
00037 virtual uint32 EngineMessageFn(uint32 messageID, void *pData,
00038 float fData);
00039
00040 virtual void Notify( HOBJECT hobj, const LTContactInfo& info );
00041
00042
00043
00044
00045 protected:
00046
00047
00048 virtual uint32 PreCreate(ObjectCreateStruct *pStruct, float fData);
00049 virtual void ObjectCreated();
00050 virtual void AllObjectsCreated();
00051 virtual void Update();
00052
00053 virtual void ParentAttachmentRemoved();
00054 virtual void LinkBroken(HOBJECT hObj);
00055
00056 virtual void LoadObject(ILTMessage* pMessage, uint32 dwParam);
00057 virtual void SaveObject(ILTMessage* pMessage, uint32 dwParam);
00058
00059 virtual void GetForceUpdateObject(ForceUpdate* pForceUpdate);
00060 virtual void ModelStringKey(ArgList* pArgList);
00061
00062 virtual void Activating();
00063 virtual void Deactivating();
00064
00065
00066
00067
00068 virtual void ReadProps(ObjectCreateStruct* pStruct);
00069 virtual void PostReadProps();
00070
00071
00072
00073 private:
00074
00075 char m_szParent[MAX_CS_FILENAME_LEN+1];
00076 char m_szSocket[MAX_CS_FILENAME_LEN+1];
00077 char m_szChild[MAX_CS_FILENAME_LEN+1];
00078
00079 LTVector3f m_vPosOffset;
00080 LTOrientation m_oRotOffset;
00081 HATTACHMENT m_hAttachment;
00082 };
00083
00084
00085 #endif // __ATTACHER_H__
00086