Files
Leviathan/Client/Game/game/Interface/Party/SUIPartyWndMgr.h
T
2026-06-01 12:46:52 +02:00

61 lines
2.5 KiB
C++

#pragma once
//#include "SUIWnd.h"
class SUIPartyWndBase;
class SUIDisplayInfo;
class SGameAvatarEx;
//==================================================================================================================================================
class SUIPartyWndMgr : public SUIWnd
{
public:
SUIPartyWndMgr( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
virtual ~SUIPartyWndMgr();
virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID );
virtual bool InitControls( KPoint kPos );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y);
void InitWnd();
SUIWnd* CreateParty(int nPartyType, const char* strPartName, int nWindowID, int nSizeType);
void RemoveParty(const char* strPartName);
void AddWnd(SUIPartyDualWnd* pWnd);
SUIPartyDualWnd* FindWnd(int id);
SUIPartyDualWnd* FindWnd(const char* strPartName, int& id);
SUIPartyDualWnd* FindWndByName(const char* pstrName);
void ResetWnd(); //2011.11.12 - servantes : 파티창 초기화
void ResetWnd(const char* pPartyName); //2011.11.16 - servantes : 파티창 초기화
void ClearWnd();
void SetUIWndManager(KUIWndManager* pWnd) { m_pManager = pWnd; }
void RequestPartyJoinAccept();
void RequestPartyArenaOpponentJoinAccept();
void RequestPartyArenaMemberJoinAccept();
/// 2011.12.20 party manager에게 모든 파티들의 셀렉트를 hide하라고 알려준다 - prodongi
void hideAllSelect();
void notifyMouseMessageReturnZero();
// int GetMapSize() { return (int)m_mapWnd.size(); }
protected:
void selectTarget(unsigned int index); /// 2011.11.23 자신의 파티원 선택 - prodongi
SGameAvatarEx* GetObject( AR_HANDLE handle );
void procMsgToDualWnd(SGameMessage* msg, AR_HANDLE handle);
void procMsgToDualWnd(SGameMessage* msg, char const* playerName);
void toggleAllExtend();
void setTitlebarArenaInfo(int team);
void refreshAllTitle();
private:
SUIDisplayInfo* m_pDisplayInfo; // display
// std::vector<SUIPartyWndBase*> m_vecWnd; // UI Vector
std::map<std::string, SUIPartyDualWnd*> m_mapWnd; // UI
bool m_isMouseMessageReturnZero;
};