{
public:
enum HandlingThread {
NoThread
= 0x0,
// This would be rather pointless
SimThread
= 0x1,
CampaignThread
= 0x2,
UIThread
= 0x4,
VuThread
= 0x8,
// Realtime thread! carefull with what you send here
AllThreads
= 0xff};
HandlingThread handlingThread;
virtual int Size();
virtual int Decode(VU_BYTE **buf, int length);
virtual int Encode(VU_BYTE **buf);
protected:
FalconEvent (VU_MSG_TYPE type, HandlingThread threadID, VU_ID entityId,
VuTargetEntity *target, VU_BOOL loopback=TRUE);
FalconEvent (VU_MSG_TYPE type, HandlingThread threadID, VU_ID senderid,
VU_ID target);
virtual ~FalconEvent (void);
virtual int Activate(VuEntity *ent);
virtual int Process(uchar autodisp) = 0;
private:
virtual int LocalSize();