#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]; };