94 lines
3.4 KiB
C++
94 lines
3.4 KiB
C++
#pragma once
|
|
|
|
//#include "SUIWnd.h"
|
|
#include "SNetMessage.h"
|
|
|
|
class SUIDisplayInfo;
|
|
class SUITradeWnd : public SUIWnd
|
|
{
|
|
public:
|
|
SUITradeWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo )
|
|
: SUIWnd( pGameManager )
|
|
, m_pDisplayInfo( pDisplayInfo )
|
|
, m_iCurAd(0)
|
|
{ }
|
|
|
|
virtual bool InitControls( KPoint kPos );
|
|
virtual bool InitData( bool bReload = false );
|
|
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
|
|
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
|
|
virtual void* Perform( KID id, KArg& msg );
|
|
virtual void Process( DWORD dwTime );
|
|
|
|
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
|
|
|
|
// operators
|
|
private:
|
|
void CreateItemCount();
|
|
|
|
void SetFreeze( AR_HANDLE hTarget );
|
|
void SetConfirm( AR_HANDLE hTarget );
|
|
void SetGold( AR_HANDLE hTarget, count_t nValue );
|
|
void SetItem( AR_HANDLE hTarget, TS_ITEM_INFO& rItem, bool bRemove=false );
|
|
void ModifyItem( AR_HANDLE hTarget, TS_ITEM_INFO& rItem ); // 2011. 10. 4 - marine 아이템 수량 변경
|
|
void SetModfyItem( TS_ITEM_INFO& rItem, bool bSelf = true ); // 2011. 10. 4 - marine
|
|
|
|
// void RefreshScrollBar( bool bSelf = true );
|
|
void RefreshSlot( int nPos = 0, bool bSelf = true );
|
|
void RefreshSelfSlot( int nPos = 0 );
|
|
void RefreshHisSlot( int nPos = 0 );
|
|
void SetSelfItem( TS_ITEM_INFO& rItem, int nPos );
|
|
void SetHisItem( TS_ITEM_INFO& rItem, int nPos );
|
|
void DisableItemSlot( int nPos, bool bSelf = true );
|
|
|
|
void AddItem( TS_ITEM_INFO& rItem, bool bSelf = true );
|
|
void AddItem( std::vector<TS_ITEM_INFO>& ItemList, TS_ITEM_INFO& rItem );
|
|
void RemoveItem( TS_ITEM_INFO& rItem, bool bSelf = true );
|
|
void RemoveItem( std::vector<TS_ITEM_INFO>& ItemList, TS_ITEM_INFO& rItem );
|
|
|
|
void Free();
|
|
void InitSlotControls();
|
|
|
|
void RequestItem( AR_HANDLE hItem, count_t nValue = count_t( 1 ) );
|
|
void RequestModifyCountItem( AR_HANDLE hItem, count_t nValue = count_t( 1 ) ); // 2011. 10. 4 - marine
|
|
count_t GetValidItemCount(AR_HANDLE hitem, count_t nCount); // 2011. 10. 4 - marine 수입력기로 아이템 거래창에 등록시 가지고 있는 수보다 클경우 최대치를 리턴
|
|
bool IsRegisterTradeWnd(AR_HANDLE hitem); // 2011. 10 .5 - marine 거래창에 등록된 아이템인지 확인
|
|
void RequestRemoveItem( AR_HANDLE hItem, count_t nValue = count_t( 0 ) );
|
|
/// 2011.05.13 self 추가 - prodongi
|
|
int GetCtrIndex( const char* pCtrName, bool& self );
|
|
/// 2011.01.20 - prodongi
|
|
bool rejectIfTaming() const;
|
|
bool cancelIfTaming(AR_HANDLE targetHandle, char const* targetName) const;
|
|
|
|
std::string CutTagCaption(std::string str, char* tag); // 2012. 1. 2 - marine 캡션의 태그를 삭제해주는 함수..
|
|
// attribute
|
|
private:
|
|
enum TRADE_STATE{
|
|
STATE_NONE,
|
|
STATE_INPUTMONEY,
|
|
STATE_SENDITEM,
|
|
STATE_TRADECONFIRM,
|
|
STATE_MOVEITEM, //servantes 2010.10.19
|
|
};
|
|
|
|
std::vector<TS_ITEM_INFO> m_vecSelfItemList;
|
|
std::vector<TS_ITEM_INFO> m_vecHisItemList;
|
|
SUIDisplayInfo* m_pDisplayInfo;
|
|
|
|
TRADE_STATE m_InputState;
|
|
AR_HANDLE m_hSelItem;
|
|
|
|
bool m_bHisFreezed;
|
|
bool m_bSelfFreezed;
|
|
bool m_bConfirmWait;
|
|
bool m_bHisConfirm;
|
|
bool m_bSelfConfirm;
|
|
|
|
DWORD m_dwTime;
|
|
KUIControlStatic* m_pEdit_Advertise; // 2011. 9. 5 - marine 거래 주의사항 광고 컨트롤
|
|
int m_iCurAd; // 2011. 9. 5 - marine
|
|
|
|
void SetCaptionAd(const char* pAdString); // 2011. 9. 5 - marine
|
|
const char* GetCurAd(); // 2011. 9. 5 - marine 현재 어떤 광고가 나오는지..
|
|
};
|