📄 pathlistdata.cpp
字号:
// ----------------------------------------------------------------------- //
//
// MODULE : PathListData.cpp
//
// PURPOSE : PathListData definition for PathList Dynamic Array class
//
// CREATED : 2/9/98
//
// ----------------------------------------------------------------------- //
#include "PathPoint.h"
#include "PathListData.h"
#include "cpp_engineobjects_de.h"
// ----------------------------------------------------------------------- //
//
// ROUTINE: PathListData::PathListData()
//
// PURPOSE: Initialize object
//
// ----------------------------------------------------------------------- //
PathListData::PathListData()
{
VEC_INIT(m_vPos);
m_hstrName = DNULL;
m_hstrActionTarget = DNULL;
m_hstrActionMessage = DNULL;
}
PathListData::~PathListData()
{
g_pServerDE->FreeString( m_hstrName );
g_pServerDE->FreeString( m_hstrActionTarget );
g_pServerDE->FreeString( m_hstrActionMessage );
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: PathListData::Copy()
//
// PURPOSE: Copy the PathPoint object's data
//
// ----------------------------------------------------------------------- //
DBOOL PathListData::Copy(HOBJECT hPathPoint)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if (!hPathPoint || !pServerDE) return DFALSE;
// Get the Object Position
pServerDE->GetObjectPos(hPathPoint, &m_vPos);
char* pName = pServerDE->GetObjectName(hPathPoint);
if (pName)
{
m_hstrName = pServerDE->CreateString(pName);
}
// Get the Objects action
PathPoint *pPathPoint = (PathPoint*)pServerDE->HandleToObject(hPathPoint);
HSTRING hstrAction = pPathPoint->GetActionTarget();
if (hstrAction)
{
m_hstrActionTarget = pServerDE->CopyString(hstrAction);
}
hstrAction = pPathPoint->GetActionMessage();
if (hstrAction)
{
m_hstrActionMessage = pServerDE->CopyString(hstrAction);
}
return DTRUE;
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: PathListData::Save()
//
// PURPOSE: Save the PathPoint's data
//
// ----------------------------------------------------------------------- //
void PathListData::Save(HMESSAGEWRITE hWrite)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if (!pServerDE || !hWrite) return;
pServerDE->WriteToMessageVector(hWrite, &m_vPos);
pServerDE->WriteToMessageHString(hWrite, m_hstrName);
pServerDE->WriteToMessageHString(hWrite, m_hstrActionTarget);
pServerDE->WriteToMessageHString(hWrite, m_hstrActionMessage);
}
// ----------------------------------------------------------------------- //
//
// ROUTINE: PathListData::Load()
//
// PURPOSE: Load the PathPoint's data
//
// ----------------------------------------------------------------------- //
void PathListData::Load(HMESSAGEREAD hRead)
{
CServerDE* pServerDE = BaseClass::GetServerDE();
if (!pServerDE || !hRead) return;
pServerDE->ReadFromMessageVector(hRead, &m_vPos);
m_hstrName = pServerDE->ReadFromMessageHString(hRead);
m_hstrActionTarget = pServerDE->ReadFromMessageHString(hRead);
m_hstrActionMessage = pServerDE->ReadFromMessageHString(hRead);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -