/* ========================================================================== * ÆÄ ÀÏ : NpcRewardWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2008-06-20 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "QuestWindow.h" class cLabel; class cUIImage; struct sRewardIcon; /// º¸»ó ¹è°æ À̹ÌÁö °ü¸® struct sRewardBack { cUIImage* mpImage; cUINodeSkin* mpNodeSkin; bool mShow; sRewardBack() { mpImage = 0; mpNodeSkin = 0; mShow = false; } }; enum eRewardBack { eBACK_DEFAULT = 0, eBACK_SELECT, eBACK_EXP, eBACK_SXP, eBACK_MONEY, eBACK_SKILLPOINT, eBACK_MAX, }; class cNpcRewardWindow : public cUIWindow { public: cNpcRewardWindow(); virtual ~cNpcRewardWindow(); virtual void Open(); virtual void Close(); /// Äù½ºÆ® Á¤º¸ ¼¼ÆÃ bool SetQuestReward( long questIdx ); unsigned int GetSelectCount() { return mCount; } /// º¸»ó ¼±Åà °¡´ÉÇÑÁö ¼¼ÆÃ void UpdateUseReward( long questIdx ); sRewardIcon* GetSelectData() { return mSelectIcon; } protected: bool OnCreate( cUINodeProperty* property ); void OnIconHovered(cUINode* caller, unsigned int id, const cUIPos& pos ); void OnIconClicked( cUINode*, unsigned int ); void OnRender( cUIFontItemKeeper* pKeeper ); void UpdateRect(); void OnHide(); bool UpdateReward( cQuestReward* reward, sRewardIcon* icon ); void SetExp( unsigned int exp ); void SetSxp( unsigned int sxp ); void SetMoney( unsigned long money ); void SetSkillPoint( unsigned int sp ); void SetSelectCount( unsigned int count ); void ClearIcon(); protected: /// º¸»ó ¼±Åà °¡´É ¿©ºÎ bool mUseReward; cLabel* mpCount; cLabel* mpEXP; cLabel* mpSXP; cLabel* mpSkillPoint; cLabel* mpMoney; /// °¢ ¹è°æÀ̹ÌÁö sRewardBack* mBackData[eBACK_MAX]; /// º¸»óÁ¤º¸ sRewardIcon mDefaultIcon[5]; sRewardIcon mSelectIcon[5]; /// ¼±Åÿë À̹ÌÁö cUIImage* mpSelectImg[5]; cUISize mSelectSize; unsigned int mMaxCount; /// ¼±Åà °¡´É °¹¼ö unsigned int mCount; };