#pragma once //#include "SUIWnd.h" #include class SUIDisplayInfo; class KUIControlCheck; class SUIPartyDualWnd; /// 파티메뉴 class SUIPartyWndMenuParty : public SUIWnd { public: SUIPartyWndMenuParty( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo ) : SUIWnd( pGameManager ) , m_pDisplayInfo( pDisplayInfo ) { m_pLinkPartyUI = NULL; // 2011.11.14 - servantes : 연결된 파티창 포인터 }; 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 OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); void SetLinkPartyUIPtr(SUIPartyDualWnd* pLinkPartyUI) { m_pLinkPartyUI = pLinkPartyUI; } // 2011.11.14 - servantes : 연결된 파티창 포인터 SUIPartyDualWnd* GetLinkPartyUIPtr() { return m_pLinkPartyUI; } // 2011.11.14 - servantes : 연결된 파티창 포인터 private: void RefreshMenu(); void RefreshPartyMenu(); void RefreshGuildMenu(); void SetControlEnableColor( const char * pControlName, const char * pColor ); void SetControlEnable( const char * pControlName, bool bEnable ); bool IsPartyMember( const AR_HANDLE handle ); void InitMenuList(); void RefreshMenuSlot(); void DisableMenuSlot(); void ShowSelectMenu( int nIndex ); bool SelectPartyMenu( int nIndex ); bool SelectGuildMenu( int nIndex ); protected: /// 2011.11.09 팝업창 업데이트(show/hide 등등) - prodongi void updatePopup(int x, int y); /// 2011.11.09 버튼 다운에 의한 sViewStatus의 상태를 설정한다 - prodongi void clickSetViewStatus(int type, byte status); /// 2011.11.09 버튼 다운에 의한 sViewStatus의 상태를 토글한다 - prodongi void clickToggleViewStatus(int type); /// void setViewStatus(int type, int status); /// // void swapButton(int type, byte status); void enableDistributionCheck(bool enable, KUIControlCheck* checkControl, KUIControlStatic* staticControl); private: SUIDisplayInfo* m_pDisplayInfo; enum { REQ_NONE, REQ_INVITE, REQ_KICK, REQ_TRANSFER, }; int m_nWorkMode; ///< 요청한 작업 모드 bool m_bOpen; bool m_bCheck00; bool m_bCheck01; bool m_bCheck02; std::string m_strSelectPartyName; // 선택한 파티 이름 /// 2011.11.09 뷰 상태 struct sViewStatus { enum { FOLDING, BUFF, CREATURE, SMALL_UI, STATUS_NUM }; /// 버프, 크리처, UI byte m_status[STATUS_NUM]; }; sViewStatus m_viewStatus; KUIControlCheck* m_check0; KUIControlCheck* m_check1; KUIControlCheck* m_check2; KUIControlStatic* m_distributionStatic0; KUIControlStatic* m_distributionStatic1; KUIControlStatic* m_distributionStatic2; KUIControl* m_button0; KUIControl* m_button1; KUIControl* m_button2; KUIControl* m_button3; KUIControl* m_button4; SUIPartyDualWnd* m_pLinkPartyUI; // 2011.11.14 - servantes : 연결된 파티창 포인터 };