56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
/**
|
||
* @file PaiVirtualObject.cpp
|
||
*/
|
||
|
||
#include "PaiVirtualObject.h"
|
||
|
||
// IMPLEMENT_PAI_OBJECT(PaiVirtualObject)
|
||
|
||
namespace pai
|
||
{
|
||
namespace objectmodel
|
||
{
|
||
|
||
// 从-10001开始,-1 ~ -10000预留
|
||
long long PaiVirtualObject::m_VirtualDBIDCounter = -10000;
|
||
|
||
PaiVirtualObject::PaiVirtualObject(PaiObject *pParent) :
|
||
PaiObject(pParent)
|
||
{
|
||
SetDBID(GenerateVirtualDBID());
|
||
SetIgnoreSyncDB(true);
|
||
}
|
||
|
||
PaiVirtualObject::~PaiVirtualObject()
|
||
{
|
||
}
|
||
|
||
long long PaiVirtualObject::GetParentDBID() const
|
||
{
|
||
PaiObject *pParent = GetParent();
|
||
if(pParent)
|
||
{
|
||
return pParent->GetDBID();
|
||
}
|
||
return 0;
|
||
}
|
||
|
||
bool PaiVirtualObject::Load(const long long /*dbid*/)
|
||
{
|
||
return true; // 虚拟对象无需加载
|
||
}
|
||
|
||
void PaiVirtualObject::Clone(const PaiObject & /*srcObject*/)
|
||
{
|
||
// 虚对象一般不许克隆,这里给出提示
|
||
// throw pai::error::io_error("Please define [Clone] function in derived class when you need!");
|
||
}
|
||
|
||
long long PaiVirtualObject::GenerateVirtualDBID()
|
||
{
|
||
return --m_VirtualDBIDCounter;
|
||
}
|
||
|
||
}
|
||
}
|