forked from metin2/client
29 lines
576 B
C
29 lines
576 B
C
|
#pragma once
|
||
|
|
||
|
class CAffectFlagContainer
|
||
|
{
|
||
|
public:
|
||
|
enum
|
||
|
{
|
||
|
BIT_SIZE = 64,
|
||
|
BYTE_SIZE = BIT_SIZE/8+(1*((BIT_SIZE&7) ? 1 : 0)),
|
||
|
};
|
||
|
|
||
|
public:
|
||
|
CAffectFlagContainer();
|
||
|
~CAffectFlagContainer();
|
||
|
|
||
|
void Clear();
|
||
|
void CopyInstance(const CAffectFlagContainer& c_rkAffectContainer);
|
||
|
void Set(UINT uPos, bool isSet);
|
||
|
bool IsSet(UINT uPos) const;
|
||
|
|
||
|
void CopyData(UINT uPos, UINT uByteSize, const void* c_pvData);
|
||
|
|
||
|
void ConvertToPosition(unsigned* uRetX, unsigned* uRetY) const;
|
||
|
|
||
|
private:
|
||
|
typedef unsigned char Element;
|
||
|
|
||
|
Element m_aElement[BYTE_SIZE];
|
||
|
};
|