/* ========================================================================== * ÆÄ ÀÏ : NpcWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-06-19 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "Npc_Common.h" struct sQuestStatus { unsigned long questIdx; /// Äù½ºÆ® À妽º unsigned int status; /// ÁøÇà»óÅ }; // ±â´É ¹öư »çÀÌ °¸ const unsigned int FUNCBUTTON_GAPW = 4; const unsigned int FUNCBUTTON_GAPH = 2; class cUINpcTelling; class cButton; class cLabel; class cTextBox; class cListBox; class cUIImage; /// Npc À©µµ¿ì class cNpcWindow : public cUIWindow { public: cNpcWindow(); virtual ~cNpcWindow(); virtual void Open(); virtual void Close(); virtual void Show( bool onsound = true ) { assert(0); } virtual void Show( unsigned int npcClassIdx, unsigned long npcIndex, LPCTSTR npcName ); /// »õ·Î¿î Äù½ºÆ® ¸®½ºÆ® »ðÀÔ virtual void Clear(); virtual void AddQuest( unsigned long questIdx, unsigned int status ); virtual void ShowDefaultPage(); /// Àå¸é Á¤º¸ ¼¼ÆÃ virtual bool UpdateDialog( bool rewardItemSeleted = false ); /// virtual void HideESC( bool onsound ); virtual void NetLock( int lockTry = 0 ); virtual void NetUnLock( int lockTry = 0 ); protected: virtual bool OnCreate( cUINodeProperty* property ); virtual void OnRender( cUIFontItemKeeper* pKeeper ); virtual void UpdateSkin(); virtual void OnShow(); virtual void OnHide(); virtual void OnCommand( cUINode* node, unsigned int id ); virtual void OnListBoxChanged( cUINode* , unsigned int ); virtual void OnNetLock( int lockTry ); virtual void OnNetUnLock( int lockTry ); virtual void SelectQuest(); /// ´ë»ç Àå¸é Á¤º¸ ¼¼ÆÃ virtual bool SetDialog( unsigned long quetIdx, unsigned int status ); virtual void UpdateScene(); // ±â´É ¹öư À§Ä¡ °»½Å virtual void ShowFuncButton(); protected: /// µ¥ÀÌÅÍ »èÁ¦¿ë typedef tPointerArray cDelArr; cDelArr mDelArr; /// À̸§ ¶óº§ cLabel* mNameLabel; /// ´ë»ç »óÀÚ cTextBox* mpTextBox; /// Äù½ºÆ® ¸®½ºÆ® cListBox* mpQuestList; cUINode* mpClose; /// ±â´É ¹öư cUINode* mpFuncButton[NPC_FUNC_MAX]; /// Npc ¾ÆÀ̵ð unsigned int mNpcClassIndex; /// Ŭ·¡½º À妽º unsigned long mNpcIndex; /// ¿ÀºêÁ§Æ® À妽º /// ´ë»ç cUINpcTelling* mTelling; /// µÞ ¹è°æ Áö¿ì±â Ç÷¡±× bool mHideBack; /// Äù½ºÆ® ´ëÈ­ÁßÀÎÁö ¿©ºÎ bool mIsUseQuest; /// ÇöÀç ´ë»çÁ¤º¸¿Í °ü·ÃÀÖ´Â Äù½ºÆ® unsigned long mQuestIndex; unsigned int mStatus; unsigned int mNextPageIdx; /// NPC À̹ÌÁö cUIImage* mSceneImage; cUINodeSkin* mSceneSkin; unsigned long mSceneIndex; bool mShowScene; };