123 lines
5.5 KiB
C++
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];
|
|
};
|