/* ========================================================================== * ÆÄ ÀÏ : Page.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-01-24 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once /// ´ë»ç·Î ÀÎÇÑ °á°ú À̺¥Æ® enum eAnswerEvent { eEVENT_NONE = 0, eEVENT_YES, eEVENT_REWARD, eEVENT_COMPLETE, }; /// ±âº» ´ë»ç¿ë ±¸Á¶Ã¼ struct sPageText { /// ÅØ½ºÆ® À妽º, ÅØ½ºÆ® ÁÙ¼ö unsigned int textIndex; unsigned int numLine; sPageText::sPageText() { textIndex = 0; numLine = 0; } }; /// ´ë´ä¿ë ±¸Á¶Ã¤ struct sPageAnswer : sPageText { /// ´ÙÀ½ÆäÀÌÁö À妽º unsigned int nextPageIndex; sPageAnswer::sPageAnswer() { nextPageIndex = 0; } }; /// Àå¸é À̹ÌÁö ±¸Á¶Ã¼ struct sSceneData { public: cString mTexName; /// ÅØ½ºÃ³ // NiTexture* mpTexture; /// ÅØ½ºÃ³ À§Ä¡ ÁÂÇ¥ unsigned int mTexPosX; unsigned int mTexPosY; /// ÅØ½ºÃ³ »çÀÌÁî unsigned int mTexWidth; unsigned int mTexHeight; }; /// ÆäÀÌÁö Á¤º¸ class cPage { friend class cUINpcTelling; public: cPage(); ~cPage(); unsigned long GetNextPageIdx() { return mNextPageIndex; } unsigned long GetSceneIdx() { return mSceneIndex; } eAnswerEvent GetAnswerEvent() { return mAnswerType; } sPageText* GetPageText() { return (sPageText*)mDefaultTextArray[0]; } tArray& GetAnswerArr() { return mAnswerArr; } private: /// ±âº»´ë»ç¹è¿­ sPageText typedef tArray cTextArray; cTextArray mDefaultTextArray; /// ´ë´ä ¹è¿­ sPageAnswer typedef tArray cAnswerArr; cAnswerArr mAnswerArr; /// ´ÙÀ½ ÆäÀÌÁö ( ºÐ±â ÆäÀÌÁö°¡ ¾Æ´Ï¸é »ç¿ë°¡´É ) /// ´ÙÀ½ÀÌ ÀÖÀ¸¸é °ª ¼¼ÆÃ unsigned long mNextPageIndex; /// ´ëÈ­ °á°ú eAnswerEvent mAnswerType; /// Àå¸éÀ妽º unsigned long mSceneIndex; /// »ç¿îµå À妽º /// unsigned long mSoundIndex; }; inline cPage::cPage() : mNextPageIndex(0) , mAnswerType( eEVENT_NONE ) , mSceneIndex(0) { mDefaultTextArray.Reserve( 10 ); mAnswerArr.Reserve( 10 ); } inline cPage::~cPage() { /// ±âº»´ë»ç¹è¿­ »èÁ¦ for( unsigned int i = 0; i < mDefaultTextArray.GetSize(); ++i ) { sPageText* pageText = (sPageText*)mDefaultTextArray[i]; SAFE_DELETE( pageText ); } mDefaultTextArray.Clear(); /// ºÐ±â¹è¿­ »èÁ¦ for( unsigned int i = 0; i < mAnswerArr.GetSize(); ++i ) { sPageAnswer* pageAns = (sPageAnswer*)mAnswerArr[i]; SAFE_DELETE( pageAns ); } mAnswerArr.Clear(); }