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

123 lines
5.5 KiB
C++

#pragma once
//#include "SUIWnd.h"
#include "SUIPartyTypes.h"
#include "SMessengerMgr.h"
class SUIDisplayInfo;
class SUIPartyWndBase;
class SPartyMgr;
//==============================================================================================================================================
// SUIPartyDualWnd
//==============================================================================================================================================
class SUIPartyDualWnd : public SUIWnd
{
public:
SUIPartyDualWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID );
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);
virtual void Process(DWORD dwTime);
void DeleverMessage(int nSendID, int nReceiveID, const char* pStrMessage, int w=0, int l=0); // 작은 UI와 큰 UI간의 메세지 전달 함수
void ChangeWndState(int nUISizeState); // 0:small / 1:big
int GetUISizeState() { return m_nUISizeState; }
int GetListSizeType() { return m_nListSizeType; }
void SetPartyType(int type); // 파티 타입
void SetUISizeState(int nState); // UI 크기 상태
void SetListSizeType(int type); // 리스트 크기 타입
void SetSiegeUIType(int type); // 공격대 UI 타입
void DisableSlots();
void RefreshSlots();
void RefreshGaugeAll();
void RefreshGaugeByIndex(const char* szName);
void RequestPartyJoinAccept();
void CalculateSize();
void ResetWnd();
void SetTitleCaption(int type_use = -1); // 타이틀의 캡션 설정한다 : -1 : 들어오는 타입 사용하지 않는다
void DeselectSlot(); // 선택된 슬롯 표시 숨김
void EnterCreature( AR_HANDLE hMaster, AR_HANDLE hCreature );
void LeaveCreature( AR_HANDLE hMaster, AR_HANDLE hCreature );
void CreatureInfo(STR_LIST& strList);
void MemberCreatureInfo(STR_LIST& vectext);
// 크리처 순서 2012.01.10 - servantes
void CreatureOrder(bool bFirst, AR_HANDLE hMaster, AR_HANDLE hCreature);
void LeaveCreature(bool bFirst, AR_HANDLE hMaster, AR_HANDLE hCreature);
/// 2011.11.15 button_suboption버튼 안에 있는지 조사 - prodongi
bool isInSubOptionButton(int x, int y);
/// 2011.11.10 상태 초기화 - prodongi
void initStatus();
/// 2011.12.20 party manager에게 모든 파티들의 셀렉트를 hide하라고 알려준다 - prodongi
void notifyHideAllSelect();
void hideAllSelect();
void notifyMouseMessageReturnZero();
/// 2012.06.14 - prodongi
void setTitlebarArenaInfo(char const* aniName, char const* caption);
void MoveWnd(int x, int y); // UI pos
POINT GetBuffRenderPos(); // 버프가 그려질 위치얻기
std::string* GetPartyName() { return &m_sPartyName; }
void SetPartyName(const char* pName);
bool GetFlagPartyMgr() { return m_bSetPartyMgr; }
void SetFlagPartyMgr(bool bFlag) { m_bSetPartyMgr = bFlag; }
int GetPartyIndex() { return m_nPartyIndex; }
void SetPartyIndex(int id) { m_nPartyIndex = id; }
int GetPartyType() { return m_nPartyType; }
// void SetSubCreatureHandle( AR_HANDLE hSubCardCreature, int index=-1/*나*/ ); // 2011.12.15 - servantes : 보조크리처 핸들 설정
void SetCreatureHandle( AR_HANDLE hMainCardCreature, int index=-1/*나*/ ); // 2011.12.15 - servantes : 주크리처 핸들 설정
// void SetCreatureHandle( AR_HANDLE hMainCardCreature, AR_HANDLE hSubCardCreature, int index=-1/*나*/ ); // 2011.12.15 - servantes : 주크리처 핸들 설정
// void SetHideCreatureHandle( AR_HANDLE hSubCardCreature, int index=-1/*나*/ ); // 2011.12.15 - servantes : 사라지는 크리처 핸들 설정
bool isShowAllBuff() const { return m_showAllBuff; }
bool isShowAllCreature() const { return m_showAllCreature; }
bool isShowPlayerBuff(int index) const { return m_showPlayerBuff[index]; }
bool isShowCreatureBuff(int index) const { return m_showCreatureBuff[index]; }
bool isShowCreature(int index) const { return m_showCreature[index]; }
protected:
/// 2011.11.10 모든 크리처 보이기 설정 - prodongi
void setShowAllCreature(bool show);
/// 2011.11.10 모든 버프 보이기 설정 - prodongi
void setShowAllBuff(bool show);
/// 2011.11.17 한 마리의 버프 show/hide 설정 - prodongi
void setShowOneBuff(char const* data, bool show, int type, int slotIndex);
void setShowOneCreature(char const* data, bool show, int slotIndex);
private:
DWORD m_dwOldTime;
DWORD m_dwTime;
std::string m_sPartyName;
int m_nPartyIndex;
int m_nPartyType;
int m_nUISizeState; // 2011.09.22 : servantes : UI 상태변수
int m_nListSizeType; // 2011.09.27 : servantes : 리스트 크기 타입
SUIPartyWndBase* m_pWndBig;
SUIPartyWndBase* m_pWndSml;
SUIDisplayInfo* m_pDisplayInfo;
bool m_bSetPartyMgr;
bool m_bInitialize; // 2011.12.21 : servantes : 초기화 상태
/// 2011.11.10 상태들 - prodongi
bool m_showAllBuff;
bool m_showAllCreature;
bool m_showPlayerBuff[SLOT_MAXLINE];
bool m_showCreatureBuff[SLOT_MAXLINE];
bool m_showCreature[SLOT_MAXLINE];
};