client/UserInterface/AffectFlagContainer.h

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];
};