//#pragma once // ////#include // ////#include "SUIWnd.h" // UI 공통 클래스 // //// 길드 서브창 타입. //enum GUILDWND_TYPE //{ // GUILDWND_NONE = -1, // GUILDWND_INFO = 0, // 길드정보 // GUILDWND_MANAGE, // 길드관리 // GUILDWND_MASTER, // 길드마스터 // GUILDWND_MAX //}; // // //class KUIListControl; // //// Guild 창 // //class SUIGuildWnd : public SUIWnd //{ //private: // // // vector< SUIWnd * > m_ArrTabWnd; // Tab Wnd 관리 배열. // // 0 탭 길드원. // // 1 탭 길드신청자. // // KUISimpleTabControl * m_pTabControl; // 탭 컨트롤. // // int m_nShowSubWnd; // 현재 떠있는 Sub Wnd. // vector< int > m_ArrSubWndID; // // KUIControl * m_BaseControl; // 길드정보컨트롤들의 아래에 깔리는 Base Control. // vector< KUIControl * > m_ArrOwnGuildStateControl; // 자신의 길드정보 컨트롤 배열. // // int m_nSrcHeightLocal; // 길드정보 확장 이전 원본크기. // bool m_bExtendLocal; // 자신의 길드정보 확장여부. // // KUIWnd * m_pMemoControl; // 길드메모컨트롤. // class SUIMemoViewWnd * m_pMemoViewWnd; // 자신의 길드메모 출력용 Wnd. // // class KUIControlIconStatic * m_pLineControl; // 접속률 라인컨트롤. // float m_LineOrgWidth; // 라인컨트롤의 원본 너비. // // KUIControlSimpleButton * m_pBtnCtrlMaster; // 길드마스터 버튼. // // bool m_bMemoText; // 자신의 메모. // // bool m_bGuild; // 길드가입여부. // // //enum E_GUILDMAIN // //{ // // E_GUILDMAIN_button_guild_data_01 // 길드정보 버튼. // // button_guild_manage_01 // 길드관리 버튼. // // button_guild_master_01 // 길드마스터 버튼. // // //}; // // // // Controls // // class KUIControlIconStatic * m_pNoticePictogram; // 공지픽토그램. // class KUIControl * m_pControlGuildName; // 길드명. // class KUIControl * m_pControlNotice; // 길드공지 // // class KUIControlIconStatic * m_pControlConnect; // 접속 // class KUIControlIconStatic * m_pControlJob; // 직업 // class KUIControl * m_pControlLv; // Level // class KUIControl * m_pControlID; // 아이디 // // bool m_bFirstOpen; // 최초오픈. // // bool m_bManageMode; // 관리모드. // //public : // // SUIGuildWnd( SGameManager * pGameManager ); // // virtual ~SUIGuildWnd(); // // //------------------------------------------ // // virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID ); // virtual bool InitControls( KPoint kPos ); // // virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); // // //virtual void OnPosChangeNofity(int nLeft, int nTop); // virtual void ProcMsgAtStatic( SGameMessage* pMsg ); // virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); // virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y); // // // //------------------------------------------ // // void Release(); // 메모리 해제. // // void UpdateTabWnd(); // Tab Wnd Update. // void UpdateMaster(); // 길드마스터 정보 컨트롤 변경 // void RefreshLineControl(); // 접속률 라인컨트롤. // // // 관리모드적용. // void ManageMode(); // // // // // 길드메모뷰 Wnd. // void InitMemoViewWnd(); // 메모뷰Wnd 설정. // void ShowMemoView( int x, int y ); // // // void ShowSubWnd( GUILDWND_TYPE wndType ); // 길드 Sub Wnd 보임, 숨김 처리. ( TOGGLE ) // void OpenSubWnd( GUILDWND_TYPE wndType ); // 길드 Sub Wnd Open, 이외 sub wnd 는 Close. // void CloseAllSubWnd(); // 모든 길드 Sub Wnd 숨김. // // void ShowTabWnd( int tabWndType ); // 탭 Wnd 보임, 숨김 처리. // // void ExtendOwnState(); // 자신의 길드정보 컨트롤 확장. // // void SetShowGuildState(); // 길드정보 컨트롤의 보임, 숨김처리. // // inline void DisableBtnCtrl( const char * pStr ); // 해당버튼 비활성화. // inline void EnableBtnCtrl( const char * pStr ); // 해당버튼 활성화. // // void AuthorityProcess(); // 권한처리. // // //------------------------------------------ // // void SUIGuildWnd::Class_1(); // void SUIGuildWnd::Class_2(); // void SUIGuildWnd::Class_3(); // void SUIGuildWnd::Class_4(); // void SUIGuildWnd::Class_5(); // void SUIGuildWnd::Class_6(); // void SUIGuildWnd::Class_7(); //#define MAX_AUTHORITY_CLASS 7 // // //}; #pragma once //#include //#include "SUIWnd.h" // UI 공통 클래스 // 길드 서브창 타입. enum GUILDWND_TYPE { GUILDWND_NONE = -1, GUILDWND_INFO = 0, // 길드정보 GUILDWND_MANAGE, // 길드관리 GUILDWND_MASTER, // 길드마스터 GUILDWND_MAX }; class KUIListControl; // Guild 창 class SUIGuildWnd : public SUIWnd { private: //----------------------------- // 2010.11.26. 길드정보 변경시 UI 갱신방식 => 길드윈도우 open 시 UI 갱신 으로 변경. int m_beforeAuthority; // 이전 등급. int m_beforeGuildMemberCount; // 이전 길드원수. int m_beforeGuildMemberLoginCount; DWORD m_bRefresh; // 갱신조건. bool m_bUIRefresh; // 길드윈도우 open 시에 UI를 갱신할지 여부. //----------------------------- vector< SUIWnd * > m_ArrTabWnd; // Tab Wnd 관리 배열. // 0 탭 길드원. // 1 탭 길드신청자. // KUISimpleTabControl * m_pTabControl; // 탭 컨트롤. // 2010.06.24. 탭컨트롤 => 버튼. // UI팀에서 요청한 기능 때문에 탭컨트롤을 사용하지 못하고 버튼을 이용해 탭컨트롤 기능을 대신한다. std::vector< KUIControlButton * > m_arrTabButton; int m_nShowSubWnd; // 현재 떠있는 Sub Wnd. vector< int > m_ArrSubWndID; KUIControl * m_BaseControl; // 길드정보컨트롤들의 아래에 깔리는 Base Control. vector< KUIControl * > m_ArrOwnGuildStateControl; // 자신의 길드정보 컨트롤 배열. int m_nSrcHeightLocal; // 길드정보 확장 이전 원본크기. bool m_bExtendLocal; // 자신의 길드정보 확장여부. KUIWnd * m_pMemoControl; // 길드메모컨트롤. KUIControlSimpleButton * m_pBtnCtrlMaster; // 길드마스터 버튼. bool m_bMemoText; // 자신의 메모. bool m_bGuild; // 길드가입여부. //enum E_GUILDMAIN //{ // E_GUILDMAIN_button_guild_data_01 // 길드정보 버튼. // button_guild_manage_01 // 길드관리 버튼. // button_guild_master_01 // 길드마스터 버튼. //}; // Controls // class KUIControlStatic * m_pNoticePictogram; // 공지픽토그램. class KUIControl * m_pControlGuildName; // 길드명. class KUIControl * m_pControlNotice; // 길드공지 class KUIControl * m_pControlCurrent; class KUIControl * m_pControlGrade; class KUIControlStatic * m_pControlConnect; // 접속 class KUIControlStatic * m_pControlJob; // 직업 class KUIControl * m_pControlLv; // Level class KUIControl * m_pControlID; // 아이디 bool m_bFirstOpen; // 최초오픈. bool m_bManageMode; // 관리모드. bool m_bMasterMode; // 길드마스터모드. /// 2011.09.30 - prodongi int m_selectedTempTabIdx; public : SUIGuildWnd( SGameManager * pGameManager ); virtual ~SUIGuildWnd(); //------------------------------------------ virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID ); virtual bool InitControls( KPoint kPos ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); //virtual void OnPosChangeNofity(int nLeft, int nTop); virtual void ProcMsgAtStatic( SGameMessage* pMsg ); virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam ); virtual DWORD OnMouseMessage(DWORD dwMessage, int x, int y); /// 2011.09.30 - prodongi virtual void Process(DWORD dwTime); //------------------------------------------ void Release(); // 메모리 해제. void UpdateTabWnd(); // Tab Wnd Update. void UpdateMaster( DWORD nRefresh ); // 길드마스터 정보 컨트롤 변경. 갱신조건추가. bintitle.2010.11.26. // 관리모드적용. void ManageMode(); // // 길드메모뷰 Wnd. void ShowMemoView( int x, int y ); void ShowSubWnd( GUILDWND_TYPE wndType ); // 길드 Sub Wnd 보임, 숨김 처리. ( TOGGLE ) void OpenSubWnd( GUILDWND_TYPE wndType ); // 길드 Sub Wnd Open, 이외 sub wnd 는 Close. void CloseAllSubWnd(); // 모든 길드 Sub Wnd 숨김. void ShowTabWnd( int tabWndType ); // 탭 Wnd 보임, 숨김 처리. void ExtendOwnState(); // 자신의 길드정보 컨트롤 확장. void SetShowGuildState(); // 길드정보 컨트롤의 보임, 숨김처리. inline void DisableBtnCtrl( const char * pStr ); // 해당버튼 비활성화. inline void EnableBtnCtrl( const char * pStr ); // 해당버튼 활성화. void AuthorityProcess(); // 권한처리. //------------------------------------------ void SUIGuildWnd::Class_1(); void SUIGuildWnd::Class_2(); void SUIGuildWnd::Class_3(); void SUIGuildWnd::Class_4(); void SUIGuildWnd::Class_5(); void SUIGuildWnd::Class_6(); void SUIGuildWnd::Class_7(); #define MAX_AUTHORITY_CLASS 7 private: /// 2011.09.30 임시 저장한 선택 탭 업데이트 - prodongi void updateSelectedTempTab(); };