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

87 lines
2.2 KiB
C++

#pragma once
#include "uibase.h"
class uiDominationStamp : public uiBase
{
public:
#ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL
enum eCOLOR_STATE
{
eCOLOR_STATE_INC,
eCOLOR_STATE_DEC,
};
#endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL
enum eDIALOG_DOMINATION_STAMP
{
#ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL
eDIALOG_DOMINATION_STAMP_STRING,
#endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL
eDIALOG_DOMINATION_STAMP_TEXTURE,
eDIALOG_DOMINATION_STAMP_MAX,
};
uiDominationStamp(InterfaceManager * pUIMan );
~uiDominationStamp();
virtual void Init(CDrawBase * pDrawBase);
virtual void Release();
virtual void OnUpdateSolarDialog();
virtual void OnRenderSolarDialog();
virtual void Process(DWORD dwTick);
virtual void OnShowWindow(BOOL val);
protected:
CControlWZ * getControl(POSTYPE AtPos);
POSTYPE getControlIDToPos(WzID wzID);
void InitControl();
private:
static WzID m_wzID[eDIALOG_DOMINATION_STAMP_MAX];
#ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL
CCtrlStaticWZ* string_control_ptr_;
DWORD string_tick_;
DWORD string_rate_alpha_color_;
TCHAR stamp_guild_name_[MAX_GUILDNAME_LENGTH+1];
eCOLOR_STATE alpha_color_state_;
#endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL
CCtrlPictureWZ* m_pctrlPicture;
HANDLE m_hStampTex;
SI_FRECT m_sRect;
float m_fRate;
WzID m_wiStampID;
DWORD m_dwTick;
BOOL m_bShow;
public:
void SetRate(float fRate){m_fRate = fRate;}
void SetStampID(WzID wiID){m_wiStampID = wiID;}
#ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL
void set_stamp_guild_name(TCHAR* stamp_guild_name);
public:
void RenderStampGuildText();
private:
void ProcessStampGuildString(DWORD tick);
#endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL
};
inline CControlWZ * uiDominationStamp::getControl(POSTYPE AtPos)
{
assert(AtPos < eDIALOG_DOMINATION_STAMP_MAX);
return GetControlWZ(m_wzID[AtPos]);
}
inline POSTYPE uiDominationStamp::getControlIDToPos(WzID wzID)
{
for ( int i = 0; i < eDIALOG_DOMINATION_STAMP_MAX ; ++i)
{
if ( m_wzID[i] == wzID)
return i;
}
return eDIALOG_DOMINATION_STAMP_MAX;
}