Files
src-1.2/engine/server/library/serverGame/src/shared/controller/TangibleController.h
T

60 lines
1.9 KiB
C++
Executable File

//========================================================================
//
// TangibleController.h
//
// copyright 2001 Sony Online Entertainment
//
//========================================================================
#ifndef INCLUDED_TangibleController_H
#define INCLUDED_TangibleController_H
//-----------------------------------------------------------------------
#include "serverGame/ServerController.h"
class AiTurretController;
//----------------------------------------------------------------------
class MessageQueueCommandQueueEnqueue;
class MessageQueueCommandQueueEnqueueFwd;
class TangibleObject;
//-----------------------------------------------------------------------
/**
* A generic controller for all Tangible Objects.
*/
class TangibleController : public ServerController
{
public:
explicit TangibleController (TangibleObject * newOwner);
~TangibleController (void);
virtual void setAuthoritative (bool newAuthoritative);
void handleCommandQueueEnqueue(MessageQueueCommandQueueEnqueue const * data);
void handleCommandQueueEnqueueFwd(MessageQueueCommandQueueEnqueueFwd const * data);
virtual TangibleController * asTangibleController();
virtual TangibleController const * asTangibleController() const;
virtual AiTurretController * asAiTurretController();
virtual AiTurretController const * asAiTurretController() const;
TangibleObject * getTangibleOwner();
const TangibleObject * getTangibleOwner() const;
protected:
virtual void handleMessage (int message, float value, const MessageQueue::Data* data, uint32 flags);
private:
TangibleController (void);
TangibleController (const TangibleController & other);
TangibleController& operator= (const TangibleController & other);
};
//-----------------------------------------------------------------------
#endif // INCLUDED_TangibleController_H