/* ========================================================================== * ÆÄ ÀÏ : NpcDealSearchSheet.h * ¸ñ Àû : ÆÇ¸Å´ëÇà À©µµ¿ì * ÀÛ ¼º ÀÚ : ±è°¡¶÷ * ÀÛ ¼º ÀÏ : 2009-04-20 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "StyleListBox.h" class cUIImage; class cEditBox; class cNumberEditBox; class cComboBox; class cListFolderBox; class cButton; class cSpinBox; struct NPC_ITEM_AGENT_SEARCH_RESULT; const unsigned int BUYBUTTON_ID = 10000; const unsigned int HIGHLEVEL = 99; const unsigned int LOWLEVEL = 1; /// ÆäÀÌÁö ¹øÈ£ ±¸Á¶Ã¼ struct sPageNum { cStringT mPageNum; long mColor; cUIPos mPos; unsigned int mTextWidth; bool mIsShow; }; class cNpcDealSearchSheet : public cUIWindow { public: cNpcDealSearchSheet( eUINodeType type = eUINODE_TABSHEET ); virtual ~cNpcDealSearchSheet(); void Clear(); void ClearData(); bool AddItem( NPC_ITEM_AGENT_SEARCH_RESULT* data ); void UpdateItemList(); // ¾ÆÀÌÅÛ ¸®½ºÆ® ¼¼ÆÃ - UI ¿¡ °»½Å void SavePage( long startPage, long endPage ); void SaveResult( int result ); // °á°ú void SendDealBuy( long idx, unsigned int count ); // ¸ñ·Ï Àç ¿äû º¸³»±â void SendUpdateList( unsigned int pageNum ); // ·Ñ¹é void RollBackPage(); protected: bool OnCreate( cUINodeProperty* property ); void OnRender( cUIFontItemKeeper* pKeeper ); void OnProcess( unsigned long deltaTime, unsigned long accumTime ); void OnCommand( cUINode* node, unsigned int id ); void OnListBoxImageHorvered( cUINode* , unsigned int , const cUIPos& , void* ); void OnListBoxImageLeft( cUINode* , unsigned int ); void OnListBoxChanged( cUINode* , unsigned int ); void UpdateSkin(); void OnLButtonDown( const cUIPos& pos, bool ctrl, bool alt, bool shift ); void UpdateRect(); void SetTypeList(); bool CheckItemName( LPCTSTR word, unsigned int len ); void UpdatePage(); void ChangePage( unsigned int page ); void OnNetLock( int lockTry ); void OnNetUnLock( int lockTry ); void SetSelectPage( unsigned int page ); void ClearPage(); private: // Á¤º¸ °ü¸®¹× »èÁ¦¿ë NPC_ITEM_AGENT_SEARCH_RESULT typedef tPointerArray cNpcDealSearchArr; cNpcDealSearchArr mDealSearchArr; /// ¾ÆÀÌÅÛ¸í cEditBox* mpNameEdit; /// ·¹º§±¸°£ cNumberEditBox* mpHighLv; cNumberEditBox* mpLowLv; /// µî±Þ cComboBox* mpRare; /// °­È­´Ü°è cComboBox* mpEnhance; /// Á¾·ù cListFolderBox* mpTypeList; cUIImage* mpHighImage; /// °Ë»ö ¹öư cUINode* mpSearch; /// ¾ÆÀÌÅÛ °á°ú ¸®½ºÆ® cImageAndFontDataListBox* mpItemList; /// ±¸¸Å¹öư cButton* mpBuyButton[10]; union { struct { BYTE flag : 1; // Á¤·Ä-0³»¸²,1¿À¸§ BYTE filed : 1; // Á¤·Ä-0°¡°Ý,1À̸§ } mSort; BYTE mSortData; }; // ÀÓ½ÃÁ¤º¸ cStringT mTempName; char mTempType; short mTempSubType; unsigned char mTempLowLv; unsigned char mTempHighLv; unsigned char mTempEnhance; unsigned char mTempRare; // ¹é¾÷Á¤º¸ int mTempPage; union { struct { BYTE flag : 1; // Á¤·Ä-0³»¸²,1¿À¸§ BYTE filed : 1; // Á¤·Ä-0°¡°Ý,1À̸§ } mTempSort; BYTE mTempSortData; }; // ½Ã°£ µô·¹ÀÌ - ¸Þ¼¼Áö¹Ú½º ´ÝÀºÈÄ Ã³¸®ÇϱâÀ§ÇÔ unsigned long mDealDelayTime; unsigned int mSaveStartPage; unsigned int mSaveEndPage; int mSaveResult; unsigned int mSaveCurrentPage; ///ÇöÀç ÆäÀÌÁö ¹øÈ£ /// ÆÇ¸Å´ëÇà ÆäÀÌÁö sPageNum mPageNum[10]; cButton* mpLeftPageButton; cButton* mpRightPageButton; cUINodeSkin* mpPageNumPos; cUIRect mPageTextRect; }; inline void cNpcDealSearchSheet::SaveResult( int result ) { mSaveResult = result; }