Files
aixianling 5c9f1dae4a init
2025-01-09 17:45:40 +08:00

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
};