77 lines
1.8 KiB
C++
77 lines
1.8 KiB
C++
|
|
#pragma once
|
|
|
|
/***************************************************************/
|
|
/*
|
|
/* 非生物,包括传送门,建筑,特效等等
|
|
/*
|
|
/***************************************************************/
|
|
|
|
|
|
class CTransfer:
|
|
public CNolive
|
|
{
|
|
public:
|
|
typedef CNolive Inherited;
|
|
|
|
static int GETTYPE() {return enTransfer;}
|
|
|
|
//初始化
|
|
bool Init(void * data, size_t size)
|
|
{
|
|
if( Inherited::Init(data,size) ==false) return false;
|
|
return true;
|
|
}
|
|
|
|
//删除的一些内存消耗操作
|
|
inline void Destroy(){ Inherited::Destroy(); } //销毁一个实体
|
|
|
|
//获取属性集的大小
|
|
inline INT_PTR GetPropertySize() const
|
|
{
|
|
return sizeof(CTransferProperty) - sizeof(CPropertySet);
|
|
}
|
|
//获取属性集的指针
|
|
virtual CPropertySet * GetPropertyPtr() {return &m_property ;}
|
|
virtual const CPropertySet * GetPropertyPtr() const {return &m_property ;}
|
|
virtual int GetPropertySetTotalSize()const { return sizeof(m_property);}
|
|
|
|
//获取怪物更新的mask
|
|
//inline CUpdateMask * GetBroadCastMask() {return s_monsterBroadcastMask;}
|
|
|
|
/*
|
|
* Comments: 设置传送门的参数
|
|
* Param INT_PTR nScenceID: 目标场景的ID
|
|
* Param INT_PTR nPosX:目标场景的x
|
|
* Param INT_PTR nPosY: 目标场景的y
|
|
* @Return void:
|
|
*/
|
|
inline void SetParams(int nScenceID,int nPosX,int nPosY)
|
|
{
|
|
m_nTargetX = nPosX;
|
|
m_nTargetY = nPosY;
|
|
m_nTargetSceneID = nScenceID;
|
|
}
|
|
/*
|
|
* Comments: 获取传送门的ID
|
|
* Param INT_PTR & nScenceID:场景ID
|
|
* Param INT_PTR & nPosX: X
|
|
* Param INT_PTR & nPosY:Y
|
|
* @Return void:
|
|
*/
|
|
inline void GetParams(int &nScenceID,int &nPosX,int &nPosY)
|
|
{
|
|
nPosX = m_nTargetX;
|
|
nPosY =m_nTargetY ;
|
|
nScenceID = m_nTargetSceneID;
|
|
}
|
|
private:
|
|
CTransferProperty m_property;
|
|
|
|
int m_nTargetX; //目标场景的x
|
|
int m_nTargetY; //目标场景的y
|
|
int m_nTargetSceneID; //目标场景的场景ID
|
|
};
|
|
|
|
|