#ifdef _NA_008012_20150130_RANKING_SYSTEM #pragma once //======================================================================================================================= /// MissionRecordManager class /** @author Kim Min Wook < taiyo@webzen.com > @since 2006. 5. 4 ~ @purpose °³ÀÎÀÇ ¹Ì¼Ç ±â·ÏÀ» °ü¸®Çϴ Ŭ·¡½º. (¹Ì¼Ç Ŭ¸®¾î½Ã ÃÖ°í±â·ÏÀ» °æ½Å) @description - ¹Ì¼Ç ¹æ¿¡ ÇϳªÀÇ MissionRecordManager°¡ Á¸ÀçÇÑ´Ù. - @todo - ½Ã°£´ÜÀ§°¡ intÀ̱⠶§¹®¿¡ ÃÖ´ë½Ã°£À» Á¤ÇÑ´Ù¸é ŸÀÔÀ» ÁÙÀÏ ¼ö ÀÖ´Ù. - Ȥ½Ã Ŭ¸®¾î Çߴµ¥ ¸ðµç À¯Àú°¡ Á×Àº »óÅÂÀ̸é? ¿ì¼± update´Â ÇÏÁö ¾ÊÀ½ @history - 2006.8.29 : ½Ç½Ã°£ ¹Ì¼Ç ·©Å· ±âȹ º¯°æÀ¸·Î »õ·Î Á¦ÀÛ */ //======================================================================================================================= #include #include #include //struct MISSION_RECORD_INFO; class GameZone; class MissionRecordManager { public: MissionRecordManager(void); ~MissionRecordManager(void); void Clear(); // void Save( const MISSION_RECORD_INFO * pRecordInfo, BYTE IN Num ); // BYTE Load( MISSION_RECORD_INFO * pRecordInfo, BYTE IN MaxArrayNum ); DWORD DecreasingTime( DWORD desc_time ); // ¹Ì¼Ç ½ÃÀ۽à ȣÃâ void StartMission( RANKINGNO wMissionNo ); // µé¾î ¿Â Ç÷¹À̾ °æ°úµÈ ½Ã°£À» º¸³½´Ù. // ÃßÈÄ, Á×Àº Ç÷¹À̾î(ŸÀÓÀÌÁ¤ÁöµÈ)°¡ ´Ù½Ã ºÎȰÇßÀ» ¶§ °æ°úµÈ ½Ã°£À» º¸³»ÁÙ ¶§ »ç¿ë // ¿©±â¼­ Ŭ¶óÀÌ¾ðÆ®´Â Å¸À̸Ӹ¦ µ¹¸² void SendElapesedTime( Player * pPlayer ); // ¹Ì¼Ç ¿Ï·á½Ã È£Ãâ void ClearMission( GameZone * pZone ); // DB±â·Ï // ClearTime broadcast : Á×Àº »ç¶÷ Á¦¿Ü // °³Àκ° ÃÖ°í ±â·Ï DB Update : Á×Àº »ç¶÷ Á¦¿Ü void UpdateClearTime( Player * pPlayer ); // ÆÄƼ ±â·Ï DB Update : Á×Àº »ç¶÷ Á¦¿Ü void UpdateClearTimeParty( GameZone * pZone ); void ClearMissionTest( DWORD time, INT64 RegisterTime ); void KillMonster( eNPC_GRADE grade, GameZone * pZone ); void OnCreate(); void OnDestroy(); private: __BOOL_PROPERTY( SatisfyCondition ); //< ¹Ì¼Ç ·©Å· Á¶°Ç ¸¸Á· ¿©ºÎ üũ , (ÀÔÀå½Ã) __PROPERTY( DWORD, ConditionErrorCode ); __PROPERTY( RANKINGNO, CurMissionNo ); __PROPERTY( DWORD, CurMissionStartTime ); __PROPERTY( DWORD, MissionClearTime ); enum { COUNTING_MONSTER_TYPE_GENERAL = 0, COUNTING_MONSTER_TYPE_LEADER, COUNTING_MONSTER_TYPE_NUM, }; DWORD m_MonsterKillNum[COUNTING_MONSTER_TYPE_NUM]; __PROPERTY( DWORD, TotalMonsterKillNum ); __PROPERTY( DWORD, MinLimitedMonsterKillNum ); __PROPERTY( BOOL , bStartMissionTime ); //MSG_DG_MISSION_CLEAR_UPDATE_SYN m_PartyUpdateMsg; MSG_GP_RANKING_MISSION_CLEAR_SYN m_MissionRankingMsg; }; #endif // _NA_008012_20150130_RANKING_SYSTEM