Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

baseobjectclnt.h

00001 // ----------------------------------------------------------------------- //
00002 //
00003 // MODULE  : baseobjectclnt.h
00004 //
00005 // PURPOSE : CBaseObjectClnt object class - Definition
00006 //
00007 // CREATED : 02/11/01
00008 //
00009 // (c) 2001 LithTech, Inc.  All Rights Reserved
00010 //
00011 // ----------------------------------------------------------------------- //
00012 
00013 #ifndef __BASE_OBJECT_CLNT_H__
00014 #define __BASE_OBJECT_CLNT_H__
00015 
00016 // parent class
00017 #include "i_event_callback.h"
00018 
00019 // Engine includes
00020 #include <ltengineobjectsclient.h>
00021 #include <autoview/autoview.h>
00022 
00023 #include <physics/collision_notify.h>
00024 
00026 class LTCollisionSphere;
00027 
00029 class CBaseObjectClnt : public BaseClassClient, public IEventCallback,
00030         public ILTCollisionNotify
00031 {
00032 public:
00033         // Construction / destruction
00034         CBaseObjectClnt();
00035         virtual ~CBaseObjectClnt();
00036 
00037         distr_class(CBaseObjectClnt);
00038 
00039         virtual void            Init();
00040 
00041         virtual LTRESULT        Update(float fFrameTime);
00042         virtual LTRESULT        PhysicsUpdate(float fFrameTime);
00043         
00044         virtual void Event(uint32 nEvent, float fFrameTime, float fGameTime,
00045                 IEventData *pEventData, uint32 nPriority, 
00046                 ECallbackType eCT,
00047                 uint32 nCountRemaining, float fTimeRemaining,
00048                 float fLoopTime);
00049         
00050         virtual void Notify( HOBJECT hobj, const LTContactInfo& info );
00051         
00052         bool                            IsCameraSync() { return !m_nCameraSync; }
00053         
00054         virtual void processNode(char* nodeName,int degree);      //Made by Shawn
00055         virtual uint32 OnPrecreate( ObjectCreateStruct* pOCS, float precreateType );
00056         virtual uint32 OnObjectCreated( float createType );
00057         virtual uint32 OnUpdate();                                                      
00058         virtual uint32 OnTouch( LTContactInfo* info, float force );                             
00059         virtual uint32 OnLinkBroken( HOBJECT linkObj );                 
00060         virtual uint32 OnModelStringKey( ArgList* pArgList );           
00061         virtual uint32 OnCrush( HOBJECT crusherObj );           
00062         virtual uint32 OnLoad( HMESSAGEREAD readMsg, float dwParam );                   
00063         virtual uint32 OnSave( HMESSAGEWRITE writeMsg, float dwParam );                 
00064         virtual uint32 OnAffectPhysics( ContainerPhysics* pCP );        
00065         virtual uint32 OnParentAttachmentRemoved( );                                                    
00066         virtual uint32 GetForceUpdate( ForceUpdate* pFU );              
00067         virtual uint32 OnActivate();                                                    
00068         virtual uint32 OnDeactivate();                                                  
00069         virtual uint32 OnAllObjectsCreated();                                                   
00070         virtual uint32 OnPositionChange( LTVector3f* p );                                                       
00071         virtual uint32 OnRotationChange( LTOrientation* R );
00072         
00073         virtual void   InitializePhysics();
00074         virtual ILTCollisionObject* CreateCollisionObject();
00075         virtual void   UpdatePhysics( const LTVector3f* p );
00076         virtual void   UpdatePhysics( const LTOrientation* R );
00077         virtual void   CleanupPhysics();
00078         
00079         
00080 protected:
00081         bool                    m_bFirstUpdate; // Flag to mark first update loop.
00082         
00083         void                    CameraSyncCB(const uint8 &nPrevValue);
00084         
00085         distr_uint8_callback_fn(CBaseObjectClnt, m_nCameraSync, CameraSyncCB);
00086         distr_uint8_callback(m_nCameraSync,             AVITEM_REG, 9, 0);
00087         //distr_bool(m_bCameraSync, AVITEM_REG, 9, false);
00088         
00089 private:
00090         LTCollisionSphere*      m_pCollSphere;  // Collision sphere for player.
00091 
00092         
00093 };
00094 
00095 
00096 #endif  // __BASE_OBJECT_CLNT_H__

Generated on Tue Oct 16 13:42:10 2001 for The Stage by doxygen1.2.11 written by Dimitri van Heesch, © 1997-2001