Files
Sun1602/ProgramCommon/MaxGuildMemberInfoParser.h
2022-10-26 12:25:11 +08:00

44 lines
1.2 KiB
C++

#pragma once
#include <Singleton.h>
#include <SolarFileReader.h>
#include <ScriptCode.IParser.h>
#define MAX_GUILD_LEVEL 7
struct MaxGuildMemberInfo
{
TCHAR m_szGuildDutyName[MAX_CHARNAME_LENGTH];
eGUILD_DUTY m_GuildDuty;
BYTE m_byBaseCorpsMember[MAX_GUILD_LEVEL]; //길드레벨별 직할 군단 최대 멤버 수
BYTE m_byNormalCorpsMember; //군단 최대 멤버 수
};
typedef std::map< eGUILD_DUTY, MaxGuildMemberInfo* > MAX_GUILDMEMBER_INFO_MAP;
typedef MAX_GUILDMEMBER_INFO_MAP::iterator MAX_GUILDMEMBER_INFO_MAP_ITER;
class MaxGuildMemberInfoParser : public util::Singleton<MaxGuildMemberInfoParser>, public IParser
{
public:
MaxGuildMemberInfoParser(void);
~MaxGuildMemberInfoParser(void);
public:
VOID Init( char * pszPackFileName );
VOID Release();
MaxGuildMemberInfo* FindInfo( eGUILD_DUTY Duty );
BYTE GetMaxMemberByCorps( BYTE Grade, BYTE byCorpsNum ); // 군단별 최대 인원수
BYTE GetMaxCorpsMemberByDuty( BYTE Grade, BYTE byCorpsNum, eGUILD_DUTY Duty ); // 해당 군단의 직책별 최대 인원수.
public:
virtual BOOL LoadScript( eSCRIPT_CODE ScriptCode, BOOL bReload );
private:
BOOL _Load( BOOL bReload );
private:
MAX_GUILDMEMBER_INFO_MAP m_mapMaxGuildMemberInfo;
};