169 lines
4.3 KiB
C++
169 lines
4.3 KiB
C++
|
|
/// 2011.10.12 - prodongi
|
|
|
|
|
|
#include "stdafx.h"
|
|
#include "SUIRaidSiegeProgressSiegeWnd.h"
|
|
#include "SUIRaidSiegeStatusWnd.h"
|
|
#include "SGameManager.h"
|
|
#include "SGameOption.h"
|
|
#include "KUIControlGauge.h"
|
|
#include "KUIControlStatic.h"
|
|
#include "SUIDefine.h"
|
|
#include "SMessengerMgr.h"
|
|
|
|
SUIRaidSiegeProgressSiegeWnd::SUIRaidSiegeProgressSiegeWnd(SGameManager* pGameManager) : SUIRaidSiegeProgressBaseWnd(pGameManager)
|
|
{
|
|
}
|
|
|
|
SUIRaidSiegeProgressSiegeWnd::~SUIRaidSiegeProgressSiegeWnd()
|
|
{
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam )
|
|
{
|
|
switch (nMessage)
|
|
{
|
|
case KUI_MESSAGE::KGENWND_MOVE:
|
|
{
|
|
LimitMoveWnd();
|
|
}
|
|
break;
|
|
}
|
|
|
|
SUIWnd::PumpUpMessage(lpszControlID, nMessage, lparam, wparam);
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd )
|
|
{
|
|
}
|
|
|
|
bool SUIRaidSiegeProgressSiegeWnd::InitControls( KPoint kPos )
|
|
{
|
|
SetCustomMovingRect(GetRect());
|
|
|
|
addOpacityList();
|
|
|
|
m_gaugeDefenseHp = dynamicCast<KUIControlGauge*>(GetChild("gauge_01"));
|
|
m_gaugeOffenseHp = dynamicCast<KUIControlGauge*>(GetChild("gauge_02"));
|
|
m_defenseName = dynamicCast<KUIControlStatic*>(GetChild("member_text_01"));
|
|
m_offenseName = dynamicCast<KUIControlStatic*>(GetChild("member_text_02"));
|
|
|
|
if (m_gaugeDefenseHp)
|
|
{
|
|
m_gaugeDefenseHp->SetMax(100);
|
|
}
|
|
if (m_gaugeOffenseHp)
|
|
{
|
|
m_gaugeOffenseHp->SetMax(100);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::addOpacityList()
|
|
{
|
|
m_opacityChecker.addChild(this, "titlebar");
|
|
m_opacityChecker.addChild(this, "titlebar_deco");
|
|
m_opacityChecker.addChild(this, "outframe_01");
|
|
m_opacityChecker.addChild(this, "outframe_02");
|
|
m_opacityChecker.addChild(this, "titlebar_text");
|
|
m_opacityChecker.addChild(this, "text_01");
|
|
m_opacityChecker.addChild(this, "member_text_01");
|
|
m_opacityChecker.addChild(this, "text_05");
|
|
m_opacityChecker.addChild(this, "member_text_02");
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::start(int defenseHp, int offenseHp, int ownerType)
|
|
{
|
|
setOwnerType(defenseHp, offenseHp, ownerType);
|
|
m_gaugeDefenseHp->SetGauge(defenseHp, 0);
|
|
m_gaugeOffenseHp->SetGauge(offenseHp, 0);
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::initialize()
|
|
{
|
|
m_ownerType = -1;
|
|
m_time = 0;
|
|
m_opponentName.clear();
|
|
|
|
setGuildName(m_offenseName, "");
|
|
setGuildName(m_defenseName, "");
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::setOpponentName(char const* opponentName)
|
|
{
|
|
setOpponentName(m_ownerType, opponentName);
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::setOpponentName(int ownerType, char const* opponentName)
|
|
{
|
|
char const* myGuildName = m_GuildMgr.GetGuildName();
|
|
m_opponentName = opponentName;
|
|
|
|
if (OFFENSE == ownerType)
|
|
{
|
|
setGuildName(m_offenseName, myGuildName);
|
|
setGuildName(m_defenseName, opponentName);
|
|
}
|
|
else
|
|
{
|
|
setGuildName(m_offenseName, opponentName);
|
|
setGuildName(m_defenseName, myGuildName);
|
|
}
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::setGuildName(KUIControlStatic* nameCtrl, char const* guildName)
|
|
{
|
|
std::string name;
|
|
XStringUtil::Format(name, "<font:font_01><size:9><b><right>%s", guildName);
|
|
nameCtrl->SetCaption(name.c_str());
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::Process(DWORD dwTime)
|
|
{
|
|
SUIWnd::Process(dwTime);
|
|
|
|
DWORD elapsedtime = 0;
|
|
if (m_time)
|
|
elapsedtime = dwTime - m_time;
|
|
m_time = dwTime;
|
|
|
|
m_opacityChecker.update(elapsedtime, m_mouseX, m_mouseY, this);
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::setOwnerType(int defenseHp, int offenseHp, int ownerType)
|
|
{
|
|
if (-1 != m_ownerType)
|
|
{
|
|
/// 공수 교대 瑛?때
|
|
if (m_ownerType != ownerType)
|
|
{
|
|
changeOwner(ownerType);
|
|
}
|
|
}
|
|
|
|
m_ownerType = ownerType;
|
|
|
|
if (OFFENSE == m_ownerType)
|
|
{
|
|
// 게이지 남은 양에 따라 텍스처 바꿔줌 // 2012.02.03 - servantes
|
|
setHPGaugeTexture( offenseHp, m_gaugeOffenseHp, 11 );
|
|
m_gaugeDefenseHp->SetBack(c_szDEF_SPR_NAME, "common_gauge_titanium_monster_middle");
|
|
}
|
|
else
|
|
{
|
|
m_gaugeOffenseHp->SetBack(c_szDEF_SPR_NAME, "common_gauge_titanium_monster_middle");
|
|
// 게이지 남은 양에 따라 텍스처 바꿔줌 // 2012.02.03 - servantes
|
|
setHPGaugeTexture( offenseHp, m_gaugeDefenseHp, 11 );
|
|
}
|
|
}
|
|
|
|
void SUIRaidSiegeProgressSiegeWnd::changeOwner(int newOwnerType)
|
|
{
|
|
SUIRaidSiegeStatusWnd* parent = dynamicCast<SUIRaidSiegeStatusWnd*>(GetParent());
|
|
if (!parent)
|
|
return ;
|
|
parent->changeSiegeOwner(newOwnerType);
|
|
setOpponentName(newOwnerType, m_opponentName.c_str());
|
|
} |