Files
2026-06-01 12:46:52 +02:00

317 lines
9.0 KiB
C++

//#pragma once
//
////#include <vector>
//
////#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 <vector>
//#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();
};