MQuestScenario.h
00001 #ifndef _MQUEST_SCENARIO_H 00002 #define _MQUEST_SCENARIO_H 00003 00004 00005 #include "MQuestConst.h" 00006 00008 struct MQuestScenarioInfo 00009 { 00010 int nID; 00011 char szTitle[64]; 00012 int nQL; 00013 float fDC; 00014 int nResSacriItemCount; 00015 int nResSacriItemID[MAX_SCENARIO_SACRI_ITEM]; 00016 int nMapSet; 00017 int nKeySectorID; 00018 00019 int nXPReward; 00020 int nBPReward; 00021 int nRewardItemCount; 00022 int nRewardItemID[MAX_SCENARIO_REWARD_ITEM]; 00023 float fRewardItemRate[MAX_SCENARIO_REWARD_ITEM]; 00024 00025 vector<int> vecNPCSetArray; 00026 00028 MQuestScenarioInfo() 00029 { 00030 nID = -1; 00031 szTitle[0] = 0; 00032 nQL = 0; 00033 fDC = 0.0f; 00034 nResSacriItemCount = 0; 00035 memset(nResSacriItemID, 0, sizeof(nResSacriItemID)); 00036 nMapSet = 0; 00037 nKeySectorID = 0; 00038 nXPReward = 0; 00039 nBPReward = 0; 00040 nRewardItemCount = 0; 00041 memset(nRewardItemID, 0, sizeof(nResSacriItemID)); 00042 memset(fRewardItemRate, 0, sizeof(fRewardItemRate)); 00043 } 00044 00046 int GetSectorCount() 00047 { 00048 return (int)vecNPCSetArray.size(); 00049 } 00050 }; 00051 00053 class MQuestScenarioCatalogue : public map<int, MQuestScenarioInfo*> 00054 { 00055 private: 00056 // 멤버 변수 00057 int m_nStandardScenarioID[MAX_QL+1][SCENARIO_STANDARD_DICE_SIDES]; 00058 00059 // 함수 00060 void Clear(); 00061 void Insert(MQuestScenarioInfo* pScenarioInfo); 00062 void ParseScenario(MXmlElement& element); 00063 void InitStandScenarioID(); 00064 public: 00065 MQuestScenarioCatalogue(); 00066 ~MQuestScenarioCatalogue(); 00067 00068 bool ReadXml(const char* szFileName); 00069 bool ReadXml(MZFileSystem* pFileSystem,const char* szFileName); 00070 00071 MQuestScenarioInfo* GetInfo(int nScenarioID); 00072 00073 00074 00075 int GetStandardScenarioID(int nQL, int nDice); 00076 }; 00077 00078 00079 #endif
MAIET entertainment