38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
#pragma once
|
|
|
|
class CObjectPosSet : public OdbcRecordset
|
|
{
|
|
public:
|
|
CObjectPosSet(OdbcConnection * dbConnection, ObjectEventArray * pMap)
|
|
: OdbcRecordset(dbConnection), m_pMap(pMap) {}
|
|
|
|
virtual tstring GetTableName() { return _T("K_OBJECTPOS"); }
|
|
virtual tstring GetColumns() { return _T("ZoneID, Belong, sIndex, Type, ControlNPCID, Status, PosX, PosY, PosZ, byLife"); }
|
|
|
|
virtual bool Fetch()
|
|
{
|
|
_OBJECT_EVENT *pData = new _OBJECT_EVENT;
|
|
|
|
int i = 1;
|
|
_dbCommand->FetchUInt16(i++, pData->sZoneID);
|
|
_dbCommand->FetchInt32(i++, pData->sBelong);
|
|
_dbCommand->FetchInt16(i++, pData->sIndex);
|
|
_dbCommand->FetchInt16(i++, pData->sType);
|
|
_dbCommand->FetchInt16(i++, pData->sControlNpcID);
|
|
_dbCommand->FetchInt16(i++, pData->sStatus);
|
|
_dbCommand->FetchSingle(i++, pData->fPosX);
|
|
_dbCommand->FetchSingle(i++, pData->fPosY);
|
|
_dbCommand->FetchSingle(i++, pData->fPosZ);
|
|
_dbCommand->FetchByte(i++, pData->byLife);
|
|
|
|
pData->RoomEvent = 0;
|
|
pData->nIndex = m_pMap->GetSize();
|
|
|
|
if (!m_pMap->PutData(pData->nIndex, pData))
|
|
delete pData;
|
|
|
|
return true;
|
|
}
|
|
|
|
ObjectEventArray *m_pMap;
|
|
}; |