127 lines
1.9 KiB
C++
127 lines
1.9 KiB
C++
#include "SunClientPrecompiledHeader.h"
|
|
#include "CastDialog.h"
|
|
#include "ObjectManager.h"
|
|
#include "Player.h"
|
|
#include "Monster.h"
|
|
#include "InterfaceManager.h"
|
|
#include "GlobalFunc.h"
|
|
|
|
WzID CastDialog::m_wzId[] =
|
|
{
|
|
StrToWzID("P000"),
|
|
StrToWzID("ST00"), //CAST_TEXT
|
|
|
|
};
|
|
|
|
CastDialog::CastDialog(void)
|
|
{
|
|
Cast_Type_ = DO_MAX;
|
|
}
|
|
|
|
|
|
CastDialog::~CastDialog(void)
|
|
{
|
|
}
|
|
|
|
|
|
VOID CastDialog::Init( CDrawBase * pDrawBase )
|
|
{
|
|
|
|
m_fGaugeSize = (float)getControl(CAST_PIC_GAUGE)->GetSize().right;
|
|
|
|
SetGage(0);
|
|
}
|
|
|
|
|
|
VOID CastDialog::Release()
|
|
{
|
|
|
|
}
|
|
|
|
VOID CastDialog::MessageProc( SI_MESSAGE * pMessage )
|
|
{
|
|
switch ( pMessage->eResultMsg )
|
|
{
|
|
case 0:
|
|
default:
|
|
{
|
|
SolarDialog::MessageProc( pMessage );
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
VOID CastDialog::NetworkProc( MSG_BASE * pMsg )
|
|
{
|
|
|
|
}
|
|
|
|
|
|
CControlWZ * CastDialog::getControl( POSTYPE AtPos )
|
|
{
|
|
if( AtPos < Dialog_Max )
|
|
{
|
|
return GetControlWZ( m_wzId[AtPos] );
|
|
}
|
|
else
|
|
{
|
|
return NULL;
|
|
}
|
|
}
|
|
|
|
|
|
POSTYPE CastDialog::getCtrlIDToPos( WzID wzId )
|
|
{
|
|
for( POSTYPE i = 0 ; i < Dialog_Max; ++i )
|
|
{
|
|
if( m_wzId[i] == wzId )
|
|
{
|
|
return i;
|
|
}
|
|
}
|
|
|
|
return Dialog_Max;
|
|
}
|
|
|
|
VOID CastDialog::SetGage( float fHPPercent )
|
|
{
|
|
if(100.f < fHPPercent)
|
|
{
|
|
WRITELOG(eLOG_LEVEL_ERR, c_wOUTPUT_LOG_SYSCHAT, "[Warning]CastDialog::HPPercent = %f", fHPPercent);
|
|
|
|
fHPPercent = 100.f;
|
|
}
|
|
|
|
RECT rcGauge = getControl(CAST_PIC_GAUGE)->GetSizeRect();
|
|
|
|
if (fHPPercent >= 0.0f )
|
|
{
|
|
float width = (m_fGaugeSize/100.f) * fHPPercent;
|
|
float height = (float)rcGauge.bottom - (float)rcGauge.top;
|
|
getControl(CAST_PIC_GAUGE)->MoveWindowWZ( (float)rcGauge.left, (float)rcGauge.top, width, height );
|
|
}
|
|
|
|
}
|
|
|
|
VOID CastDialog::SetText(TCHAR* szMessage)
|
|
{
|
|
CCtrlStaticWZ* pCtrl = (CCtrlStaticWZ*)getControl(CAST_TEXT);
|
|
if(pCtrl)
|
|
{
|
|
pCtrl->SetTextWZ(szMessage);
|
|
}
|
|
}
|
|
|
|
VOID CastDialog::OnShowWindow( BOOL val )
|
|
{
|
|
if (val)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
Cast_Type_ = DO_MAX;
|
|
g_KeyQueueManager.DeleteMsg(eDoType_cast_cancel);
|
|
}
|
|
}
|