Files
Sun1602/Client/GameClient/Interface/uiBattleScoreBlood/uiBattleScoreBlood.h
T
2022-10-26 12:25:11 +08:00

96 lines
2.8 KiB
C++

#pragma once
#include "uibase.h"
#include "uibattlescoreman\uibattlescoreman.h"
class uiBattleScoreMan;
class uiBattleScoreBlood : public uiBase
{
enum eBATTLE_SCOREBLOOD_CONTROL
{
BATTLE_SCORE_BUTTON_EXIT=0,
BATTLE_SCORE_LIST,
BATTLE_SCORE_TXT_TITLE,
BATTLE_SCORE_TXT_DISCRIPT,
BATTLE_SCORE_BUTTON_ID,
BATTLE_SCORE_BUTTON_CLASS,
BATTLE_SCORE_BUTTON_RANK,
BATTLE_SCORE_BUTTON_LV,
BATTLE_SCORE_BUTTON_MAXDAMAGE,
BATTLE_SCORE_BUTTON_GIVEDAMAGE,
BATTLE_SCORE_BUTTON_GETDAMAGE,
BATTLE_SCORE_BUTTON_KILL,
BATTLE_SCORE_BUTTON_HEAL,
BATTLE_SCORE_BUTTON_DIE,
BATTLE_SCORE_CHECK_BUTTON_HOME,
BATTLE_SCORE_CHECK_BUTTON_AWAY,
BATTLE_SCORE_MAX,
};
enum eBATTLE_BLOOD_TAB_BUTTONS
{
TAB_BUTTON_HOME_TEAM = 0,
TAB_BUTTON_AWAY_TEAM,
TAB_BUTTON_MAX
};
public:
uiBattleScoreBlood(InterfaceManager* manager_ptr);
virtual ~uiBattleScoreBlood(void);
virtual void Init(CDrawBase* pDrawBase);
virtual void Release();
virtual void MessageProc(SI_MESSAGE* pMessage);
virtual void OnShowWindow(BOOL val);
uiBattleScoreMan* battle_score_manager();
void refresh_list_control_data(nArray<BATTLESCORE_DATA> &ArrayType);
void set_home_team_selected(bool value){ home_team_selected_ = value; }
bool home_team_selected(){ return home_team_selected_; };
virtual void OnRenderSolarDialog();
private:
CControlWZ* get_control(POSTYPE AtPos);
POSTYPE get_control_id_to_position(WzID controls_id);
void InitControls();
void clear_selected();
void set_list_controls_data(int nIndex,int nSubIndex,TCHAR* pszText, bool bIsOnline);
private:
#ifdef _NA_005003_20120612_NEW_CHARACTER_MYSTIC_FOR_CLIENT
HANDLE handle_texture_;
St_TextureContainer* texture_information_;
#endif//_NA_005003_20120612_NEW_CHARACTER_MYSTIC_FOR_CLIENT
CCtrlListWZ* battle_players_list_control_;
CCtrlButtonWZ* list_title_button[uiBattleScoreMan::BTSCROE_LIST_MAX];
CCtrlButtonCheckWZ* team_check_button[TAB_BUTTON_MAX];
static WzID controls_id_[BATTLE_SCORE_MAX];
bool home_team_selected_;
uiBattleScoreMan* battle_score_manager_;
BOOL m_bInitDlg; //dlg´Â ÃÖÃÊ OnShowWindow(0)ÇѹøÈ£ÃâµÈ´Ù
bool m_bIsInited;
};
//------------------------------------------------------------------------------
/**
*/
inline POSTYPE uiBattleScoreBlood::get_control_id_to_position(WzID controls_id)
{
for (POSTYPE i = 0; i < BATTLE_SCORE_MAX; ++i )
{
if (controls_id_[i] == controls_id)
{
return i;
}
}
return BATTLE_SCORE_MAX;
}
//------------------------------------------------------------------------------
/**
*/
inline CControlWZ* uiBattleScoreBlood::get_control(POSTYPE AtPos)
{
if (AtPos >= BATTLE_SCORE_MAX)
{
ASSERT(false);
return NULL;
}
return GetControlWZ(controls_id_[AtPos]);
}