Files
Sun1602/Client/GameClient/DummySlotSet.cpp
T
2022-10-26 12:25:11 +08:00

75 lines
1.5 KiB
C++

#include "SunClientPrecompiledHeader.h"
#include ".\dummyslotset.h"
#include "dummyitemslot.h"
DummySlotSet::DummySlotSet(void) : m_pItemSlotArray(0)
{
}
DummySlotSet::~DummySlotSet(void)
{
ASSERT( m_pItemSlotArray == NULL );
}
VOID DummySlotSet::DestorySlotSet()
{
setSlotSetSize( 0 );
if( m_pItemSlotArray )
{
delete [] m_pItemSlotArray;
m_pItemSlotArray = NULL;
}
}
VOID DummySlotSet::CreateSlotSet( DWORD dwSlotSetSize )
{
setSlotSetSize( dwSlotSetSize );
m_pItemSlotArray = new DummyItemSlot[dwSlotSetSize];
}
VOID DummySlotSet::ClearSlotSet()
{
for( DWORD i = 0 ; i < GetSlotSetSize() ; ++i )
{
m_pItemSlotArray[i].Clear();
}
}
BOOL DummySlotSet::IsEmpty( POSTYPE pos )
{
return ( m_pItemSlotArray[pos].GetSerial() == 0 );
}
VOID DummySlotSet::ClearSlot( POSTYPE pos )
{
ASSERT( pos < GetSlotSetSize() );
m_pItemSlotArray[pos].Clear();
}
VOID DummySlotSet::SetSlot( POSTYPE pos, const SCSlot * pSlot ) const
{
ASSERT( pos < GetSlotSetSize() );
DummyItemSlot * pDummySlot = (DummyItemSlot *)pSlot;
m_pItemSlotArray[pos].SetSerial( pDummySlot->GetSerial() );
m_pItemSlotArray[pos].SetDura( pDummySlot->GetDura() );
m_pItemSlotArray[pos].SetCode( pDummySlot->GetCode() );
m_pItemSlotArray[pos].SetQuickPos( pos );
m_pItemSlotArray[pos].SetFromContainerIdx(pDummySlot->GetFromContainerIdx() );
m_pItemSlotArray[pos].SetFromPosition( pDummySlot->GetFromPosition() );
}
SCSlot * DummySlotSet::getSlot( POSTYPE pos )
{
return &m_pItemSlotArray[pos];
}