167 lines
5.9 KiB
C++
167 lines
5.9 KiB
C++
|
|
#pragma once
|
|
|
|
//#include "SUIWnd.h"
|
|
|
|
// 2011.09.02 - servantes
|
|
class KUIControlStatic;
|
|
class KUIControlScrollBase;
|
|
|
|
#define PART_SLOT_COUNT 4
|
|
|
|
class SUIDungeonStoneWnd : public SUIWnd
|
|
{
|
|
// 2011.09.09 - servantes
|
|
struct DungeonInfo
|
|
{
|
|
DungeonInfo()
|
|
{
|
|
nDugeonID = nLv = nSiegeCnt = UserCnt = nApplicationCnt = nRate = 0;
|
|
bAlliance = false;
|
|
}
|
|
int nDugeonID; // 던전번호
|
|
int nApplicationCnt; // 레이드 참여한 길드 숫자
|
|
int nRate; // 세율
|
|
std::string strGuild; // 소유길드 이름
|
|
std::string strMaster; // 소유길드 마스터 이름
|
|
bool bAlliance; // 소유길드 연합여부
|
|
int UserCnt; // 소유길드 인원
|
|
|
|
std::string strDungeonName; // 던전이름
|
|
int nLv; // 던전레벨
|
|
int nSiegeCnt; // 시즈인원
|
|
int nRaidCnt; // 2011.11.15 레이드 인원 - prodongi
|
|
};
|
|
|
|
// 2011.09.09 - servantes
|
|
struct Raid
|
|
{
|
|
Raid(
|
|
std::string _strGuildName
|
|
, std::string _strMasterName
|
|
, int _nMasterLv
|
|
, int _nUserCnt
|
|
, int _nTime )
|
|
: strGuildName ( _strGuildName )
|
|
, strMasterName ( _strMasterName )
|
|
, nMasterLv ( _nMasterLv )
|
|
, nUserCnt ( _nUserCnt )
|
|
, nTime ( _nTime )
|
|
{
|
|
}
|
|
|
|
std::string strGuildName;
|
|
std::string strMasterName;
|
|
int nMasterLv;
|
|
int nUserCnt; // 길드원
|
|
int nTime; // 시간
|
|
};
|
|
|
|
enum { STATUS_IDLE, STATUS_RAID, STATUS_REST_BEFORE_SIEGE, STATUS_SIEGE, STATUS_REST_AFTER_SIEGE }; // STATUS_IDLE 은 사용하지 않음..
|
|
|
|
public:
|
|
SUIDungeonStoneWnd( SGameManager* pGameManager ) : SUIWnd( pGameManager ), m_nListCnt(0) {};
|
|
virtual ~SUIDungeonStoneWnd();
|
|
|
|
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 );
|
|
|
|
protected:
|
|
void SetDungeonInfoCaption(DungeonInfo dungeon);
|
|
std::string GetListCaption(Raid raid);
|
|
std::string GetTimeString( float f_Time );
|
|
void SetDungeonInfo(struct SMSG_NPC_DIALOG* pNPCDlgMsg);
|
|
void SetRaidList(struct SMSG_NPC_DIALOG* pNPCDlgMsg);
|
|
void SetControlButton(struct SMSG_NPC_DIALOG* pNPCDlgMsg);
|
|
void UpdateStoneInfo();
|
|
void SortRaidList();
|
|
void GetStringList( std::vector<std::string>& rStrList, std::string Text );
|
|
std::string GetDungeonRank(int nLv);
|
|
void ClearList();
|
|
void ClearDungeonInfo();
|
|
int GetLocalFlag();
|
|
/// 2011.12.15 m_vecRaidList.nTime 데이타로 1순위 마크들을 show/hide 시킨다 - prodongi
|
|
void refreshFirstRankMarks(int index);
|
|
|
|
private:
|
|
enum { MAX_SHOW_LIST = 4 }; /// 2011.10.13 화면에 보여지는 최대 공대 개수
|
|
|
|
int m_nListCnt;
|
|
DungeonInfo m_sDungeonInfo;
|
|
std::vector<Raid> m_vecRaidList;
|
|
std::string m_strHanDle[3];
|
|
|
|
// 2011.09.02 - servantes
|
|
virtual void OnDeviceLost();
|
|
void refreshInitImg();
|
|
void refreshCardImg();
|
|
|
|
void insert_string_staticcontrol(const char* ptr_control_name, const char* ptr_option, const char* ptr_content);
|
|
void visible_staticcontrol(const char* ptr_control_name, bool bShow);
|
|
|
|
// 던전 정보
|
|
void insert_dungeon_info_help_title(); // 2011.09.07 - servantes
|
|
void insert_dungeon_info_title();
|
|
void insert_dungeon_title(int id_string);
|
|
void insert_dungeon_title(const char* ptr_dungeon_name);
|
|
void insert_dungeon_grade_title();
|
|
void insert_dungeon_grade(int id_level);
|
|
void insert_seize_apply_level_title();
|
|
void insert_seize_apply_level(int id_level);
|
|
void insert_seize_member_count_title();
|
|
void insert_seize_member_count(int id_member_count);
|
|
void insert_raid_member_count_title();
|
|
void insert_raid_member_count(int id_member_count);
|
|
void insert_tax_rate_title();
|
|
void insert_tax_rate(float rate);
|
|
void insert_dungeon_boss_title();
|
|
void insert_dungeon_boss(int id_name_boss, int id_name_boss2);
|
|
|
|
// 던전 소유 길드 정보
|
|
void insert_own_guild_info_title();
|
|
void insert_own_guild(const char* ptr_guild_name);
|
|
void insert_guild_boss_name_title();
|
|
void insert_guild_boss_name(const char* ptr_boss_name);
|
|
void insert_alliance_guild_title(int id_string);
|
|
void insert_alliance_guild(const char* ptr_guild_name);
|
|
void insert_guild_member_title(int id_string);
|
|
void insert_guild_member(int count_member);
|
|
|
|
// 레이드 현황
|
|
void insert_raid_situation_title();
|
|
void insert_raid_help_title();
|
|
void insert_raid_help2_title(); // 2011.09.15 - servantes
|
|
|
|
// 레이드 현황 정보
|
|
void raid_slot_active(int count_slot);
|
|
void raid_slot_visible(int id_slot, bool bShow);
|
|
void raid_slot_insert_info(int id_slot, Raid* ptr_raid_info);
|
|
|
|
// 리더(길드장,연합길드장)마크 표시
|
|
void visible_leader_mark(bool bShow); // 2011.09.09 - servantes : 리더마크 표시
|
|
|
|
// 1번슬롯 표시
|
|
void visible_1st_slot_select(bool bShow); // 2011.09.09 - servantes : 1번슬롯 표시
|
|
/// 2012.01.11 레이드/시즈 진행 상황
|
|
void setStatus(int status);
|
|
|
|
K3DTextureSPtr m_spTexture;
|
|
std::string m_strIllustImg;
|
|
KUIControlScrollBase* m_pScrollBar;
|
|
|
|
KUIControlStatic* m_pSlot_leader_mark; // 2011.09.09 - servantes : 리더마크
|
|
KUIControlStatic* m_pSlot_select; // 2011.09.09 - servantes : 1번슬롯 표시
|
|
KUIControlStatic* m_pSlot_number_title[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_guildName[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_timeAttack_title[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_timeAttack[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_guildMemberCount_title[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_guildMemberCount[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_guildBossName_title[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_guildBossName[PART_SLOT_COUNT];
|
|
KUIControlStatic* m_pSlot_bg[PART_SLOT_COUNT];
|
|
};
|