/* ========================================================================== * ÀÛ ¼º ÀÚ : À̼ø±Ô * ÀÛ ¼º ÀÏ : 2007.06.05 * ³» ¿ë : * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "Lexer.h" enum eNpcFunc; enum eNpcUIOpenType; /// Äù½ºÆ® ÁøÇà»óȲ¿¡ µû¸¥ ¿¬°á ÆäÀÌÁö struct sQuestLinkPage { unsigned long newIndex; unsigned long playIndex; unsigned long completeIndex; unsigned long rewardIndex; sQuestLinkPage::sQuestLinkPage() { newIndex = 0; playIndex = 0; rewardIndex = 0; } }; /// Npc ´ë»ç ¹× ±â´É struct sPageText; class cPage; class cParser; class cUINpcTelling { public: cUINpcTelling(); ~cUINpcTelling(); bool Load( cParser& parser ); /// ±âº» ´ë»ç´Â ·£´ý ȹµæ sPageText* GetDefaultTextRandomly(); unsigned long GetDefaultScene(); /// ±âº»Àå¸é À妽º /// cPage* GetPage( unsigned long pageIdx ); /// Äù½ºÆ® °ü·Ã ÆäÀÌÁö Á¤º¸ °¡Á®¿À±â sQuestLinkPage* GetQuestLinkPage( unsigned long questIdx ); /// ±â´É int GetFuncCount() { return mFuncCount; } eNpcFunc GetFunc( int i ); /// unsigned long* GetTarotArr() { return mTarotIndex; } unsigned long GetTarotPrice() { return mTarotPrice; } unsigned long GetThemeIndex() { return mThemeIndex; } short GetSpreadCount() { return mSpreadCount; } unsigned long* GetSpreadArr() { return mSpreadIndex; } unsigned long GetJobData1() { return mJobData[0]; } unsigned long GetJobData2() { return mJobData[1]; } protected: bool LoadQuestLink( cParser& parser, sQuestLinkPage* linkPage ); bool LoadPageList( cParser& parser, unsigned long& rewardIndex ); bool LoadPage( cParser& parser, cPage* page ); private: /// ±âº» ´ë»ç ÆäÀÌÁö Á¤º¸ unsigned long mDefaultTextIndex; /// Äù½ºÆ® ÆäÀÌÁö Á¤º¸ ¸Ê typedef tPointerHashMap cQuestLinkPage; cQuestLinkPage mQuestLinkPage; /// ±â´É - ÃÖ´ë 5°³ eNpcFunc mFunc[5]; int mFuncCount; /// °¡Áø ½ºÇÁ·¹µå Á¤º¸ short mSpreadCount; unsigned long mSpreadIndex[5]; unsigned long mTarotIndex[22]; unsigned long mTarotPrice; /// Å׸¶ ´øÁ¯ À妽º Á¤º¸ unsigned long mThemeIndex; // Á÷¾÷ Á¤º¸ À妽º unsigned long mJobData[2]; }; inline eNpcFunc cUINpcTelling::GetFunc( int i ) { return ( i < 5 ) ? mFunc[i] : (eNpcFunc)0; }