#pragma once //#include "SUIWnd.h" //#include class SUIDisplayInfo; class SUIQuestRewardWnd : public SUIWnd { public: SUIQuestRewardWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ) : SUIWnd( pGameManager ) , m_pDisplayInfo( pDisplayInfo ) , m_bNeedRewardItem( false ) , m_nSysMenuPosX( -99 ) , m_nSysMenuPosY( -99 ) {} virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual void* Perform( KID id, KArg& msg ); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); virtual bool InitControls( KPoint kPos ); virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y); void SetQuestRewardItem( bool bNeed ) { m_bNeedRewardItem = bNeed; } bool IsQuestNeedRewardItem() { return m_bNeedRewardItem; } private: std::string CoordinateQuestName( int nDifficulty, int nLimitLevel, const std::string & strQuestName ); void SetSlotShowMode( size_t idx, bool bShow ); void Refresh(); void CreateControls(); int GetSlotControlNum( int x, int y ); void MoveFocus( int idx ); void SetItemSlot( ItemBase::ItemCode code, int nCount, const char *szIconControl, const char *szNumberControl ); void IconFocus( int nIndex ); int m_nRewardFocus; QuestBase::QuestCode m_nQuestCode; SUIDisplayInfo* m_pDisplayInfo; std::string m_strQuestSummary; int m_nSummaryIndex; int m_nSysMenuPosX, m_nSysMenuPosY; bool m_bNeedRewardItem; };