#ifndef __VIRTUAL_AREA_STRUCTURE_H__ #define __VIRTUAL_AREA_STRUCTURE_H__ #pragma once #include #include using namespace std; namespace VirtualArea { // VirtualArea Info struct ProtoType { unsigned long m_dwVID; unsigned char m_cMapType; unsigned char m_cZone; unsigned short m_wStartX; unsigned short m_wStartZ; unsigned short m_wWidth; unsigned short m_wHeight; unsigned char m_cMaxRespawnPos; char m_szArrangementFileName[MAX_FILE_NAME]; char m_szMapType[MAX_MAP_TYPE_NAME]; Position m_StartPos[CClass::MAX_RACE]; Position m_RespawnPos[CClass::MAX_RACE][MAX_VIRTUAL_AREA_RESPAWN_POINT]; inline bool operator < (ProtoType& rhs) { return m_dwVID < rhs.m_dwVID; } }; // ½ºÅ©¸³Æ®ÀÇ szMapType °ú cMapType À» ¸ÅνÃÄÑÁÖ±â À§ÇÔ // BGServerMap À» ½ºÅ©¸³Æ®È­ ÇÏÁö ¾Ê°í, ÇϵåÄÚµùÀ» Çϱ⠶§¹®¿¡ ¸ÅĪÀÌ ÇÊ¿äÇÏ´Ù. struct MapTypeMatching { std::map m_matchMap; MapTypeMatching(); }; // ¹æ Á¤º¸ struct MapInfo { struct PersonalInfo { unsigned char m_cEnteringMin; // µé¾î¿Â ½ÃÁ¡ÀÇ ³²Àº °æ±â ½Ã°£ unsigned char m_cKill; // ³»°¡ Á×ÀÎ À¯Àú ¼ö unsigned char m_cKilled; // ³»°¡ Á×Àº ¼ö PersonalInfo(unsigned char cEnteringMin) : m_cEnteringMin(cEnteringMin), m_cKill(0), m_cKilled(0) { } }; // ¹èƲ ±×¶ó¿îµå ÇϳªÀÇ ¹æ(°¡»ó ¸Ê)ÀÌ °¡Á®¾ß ÇÏ´Â º¯¼ö unsigned char m_cMapType; unsigned char m_cMaxCharNumOfNation; // ÇÑ Áø¿µ ÃÖ´ë Àοø unsigned char m_cRemainPlayMin; // ³²Àº °æ±â ½Ã°£ (ºÐ ´ÜÀ§) unsigned char m_cRemainRestMin; // ³²Àº ½¬´Â ½Ã°£ (ºÐ ´ÜÀ§) unsigned short m_wTargetScore; unsigned char m_cCurrentCharNum[CClass::MAX_RACE]; unsigned short m_wScore[CClass::MAX_RACE]; unsigned char m_cLimitMin; // ½Ã°£ Á¦ÇÑ (ºÐ ´ÜÀ§) unsigned char m_cRestMin; // ½¬´Â ½Ã°£ (ºÐ ´ÜÀ§) // °ÔÀÓ¿¡ µé¾î¿Â ij¸¯ÅÍÀÇ °³ÀÎ Á¤º¸ typedef std::map PersonalInfoMap; PersonalInfoMap m_PersonalInfoMap; MapInfo(); MapInfo(unsigned char cMapType); void Initialize(); }; // ¹æÀÇ °á°ú Á¤º¸ struct ResultInfo { unsigned short m_wScore[CClass::MAX_RACE]; unsigned char m_cWinRace; ResultInfo(); void Initialize(); }; } #endif // __VIRTUAL_AREA_STRUCTURE_H__