/* ========================================================================== * ÆÄ ÀÏ : TriggerManager.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-08-01 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Quest_Common.h" /// Æ®¸®°Å Á¤º¸ class cTrigger { friend class cQuestManager; friend class cTriggerManager; public: cTrigger(); private: /// ¹ß»ý Äù½ºÆ® À妽º unsigned long mQuestIndex; /// ÃÖÀú ·¹º§ short mLowLevel; /// ÃÖ°í ·¹º§ short mHighLevel; /// Á¾Á· short mRace[2]; /// ¼ºº° short mGender; /// °¡´ÉÇÑ Á÷¾÷ typedef tHashSet cJobSet; cJobSet mJobSet; /// º¸À¯ÇؾßÇÏ´Â ¾ÆÀÌÅÛ sQuestItem mHaveItem[QUEST_ITEM_MAX]; /// Äù½ºÆ®¸Å´ÏÀú - ¿Ï·á ¸ñ·Ï ÂüÁ¶ /// ÇÏÀ§ ¿¬°è Äù½ºÆ® À妽º typedef tArray cLinkQuestArr; cLinkQuestArr mLinkQuestArr; /// ¿äÀÏ Å¸ÀÔ short mDayCount; short mDayType[eDAY_MAX]; /// ½Ã°£ ¹üÀ§ short mStartHour; short mEndHour; /// º¯½Å ¸ó½ºÅÍ À妽º unsigned long mTransmonIndex; /// ŸÀÌÆ² À妽º unsigned long mTitleIndex; // º¸Á¶Á÷¾÷ À妽º (eMAKESKILL) unsigned char mMakeSkillIndex; // ¼÷·Ãµµ unsigned long mMakeSkillExp; // ÃÖ¼Ò unsigned long mMaxMakeSkillExp; // ÃÖ´ë }; /// Æ®¸®°Å ¸Å´ÏÀú class cTriggerManager { static cTriggerManager* mpSingleton; public: cTriggerManager(); ~cTriggerManager(); bool Init(); void Clear(); bool AddTrigger( unsigned long questIdx, cTrigger* trigger ); void DeleteTrigger( unsigned long questIdx ); private: cTrigger* GetTrigger( unsigned long questIdx ); public: static cTriggerManager* GetSingleton(); private: /// Æ®¸®°Å ¸Ê (questidx, cTrigger*) typedef tPointerHashMap cTriggerMap; cTriggerMap mTriggerMap; }; inline cTriggerManager* cTriggerManager::GetSingleton() { return mpSingleton; } #define TRIGGERMAN cTriggerManager::GetSingleton()