47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
/**
|
|
@file JCEventBase.h
|
|
@brief
|
|
@author hugao
|
|
@version 1.0
|
|
@date 2016_5_11
|
|
*/
|
|
|
|
#ifndef __JCEventBase_H__
|
|
#define __JCEventBase_H__
|
|
|
|
namespace laya
|
|
{
|
|
class JCEventBase
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
HANDLE_ONCE=0x1,//只处理一次,不会派发给队列中的其他监听者。好像没有为n的需求。
|
|
ISCALLBACK=0x2, //立即回调。不压队列
|
|
UNIQUE=0x4, //排他性,在队列中只有一个。
|
|
NEEDDELDATA=0x5, //m_pData需要释放
|
|
};
|
|
|
|
public:
|
|
JCEventBase();
|
|
~JCEventBase();
|
|
void setDataAsPtr(void* pData) { m_pData = pData; m_nFlags |= NEEDDELDATA; };
|
|
void setDataAsInt(int data){ m_pData = (void*)data; m_nFlags&=(~NEEDDELDATA);}
|
|
void* getData(){return m_pData; }
|
|
public:
|
|
int m_nID;
|
|
char* m_pName;
|
|
unsigned int m_nFlags;
|
|
char m_nPriority; //优先级
|
|
int m_nP1, m_nP2;
|
|
protected:
|
|
void* m_pData; //外面分配,需要自己释放。
|
|
|
|
};
|
|
};
|
|
//------------------------------------------------------------------------------
|
|
|
|
|
|
#endif //__JCEventBase_H__
|
|
|
|
//-----------------------------END FILE--------------------------------
|