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

82 lines
1.5 KiB
C++

#pragma once
#include "uiBase.h"
struct SSQ_REWARD_INFO
{
SSQ_REWARD_INFO() {}
SSQ_REWARD_INFO( DWORD Point, DWORD Exp, BYTE MonsterKillNum, BYTE PlayerKillNum )
: m_Point( Point )
, m_Exp( Exp )
, m_MonsterKillNum( MonsterKillNum )
, m_PlayerKillNum( PlayerKillNum )
{
}
DWORD m_Point;
DWORD m_Exp;
BYTE m_MonsterKillNum;
BYTE m_PlayerKillNum;
};
enum REWARD_TYPE
{
REWARD_WIN,
REWARD_FAIL,
REWARD_MAX
};
class uiSSQRewardWindow : public uiBase
{
enum SSQ_REWARD_WINDOW
{
NOTICE_STATIC,
ACQUIREMENT_POINT_STATIC,
REWARD_EXP_STATIC,
MONSTER_KILL_COUNT_STATIC,
PLAYER_KILL_COUNT_STATIC,
CONFIRM_BUTTON,
EXIT_BUTTON,
MAX_SSQ_REWARD_WINDOW,
};
public:
uiSSQRewardWindow( InterfaceManager * pUIMan );
~uiSSQRewardWindow(void);
virtual void Init( CDrawBase * pDrawBase );
virtual void Release();
virtual void Process( DWORD dwTick );
virtual void OnShowWindow( BOOL val );
virtual void MessageProc( SI_MESSAGE * pMessage );
void SetRewardInfo( const SSQ_REWARD_INFO & Info ) { m_RewardInfo = Info; }
void SetType( REWARD_TYPE Type ) { m_Type = Type; }
void SetRewardInfoToUI( void );
private:
CControlWZ * getControl(POSTYPE AtPos)
{
assert( AtPos < MAX_SSQ_REWARD_WINDOW );
return GetControlWZ( m_wzID[AtPos] );
}
POSTYPE getControlIDToPos(WzID wzID)
{
for( int i = 0; i < MAX_SSQ_REWARD_WINDOW; ++i)
{
if( m_wzID[i] == wzID )
return i;
}
return MAX_SSQ_REWARD_WINDOW;
}
private:
static WzID m_wzID[MAX_SSQ_REWARD_WINDOW];
SSQ_REWARD_INFO m_RewardInfo;
REWARD_TYPE m_Type;
};