Files
2022-10-26 12:25:11 +08:00

175 lines
4.7 KiB
C++

#include "SunClientPrecompiledHeader.h"
#ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
#include "uiChaosZoneTimer.h"
#include "ChaosSystem/ChaosSystemData.h"
#include "Interfacemanager.h"
#ifdef _NA_007114_20140313_CHAOSZONE_GOLDRUSH
#include "ChaosSystem/ChaosSystemMan.h"
#include "uiBattleScoreMan/uiBattleScoreMan.h"
#endif // _NA_007114_20140313_CHAOSZONE_GOLDRUSH
//------------------------------------------------------------------------------
/**
*/
uiChaosZoneTimer::uiChaosZoneTimer(InterfaceManager *ui_man) : uiBase(ui_man)
{
}
//------------------------------------------------------------------------------
/**
*/
uiChaosZoneTimer::~uiChaosZoneTimer()
{
this->Release();
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::Init(CDrawBase* draw_base)
{
uiBase::Init(draw_base);
RegisterControl();
CControlWZ* control_pointer = static_cast<CControlWZ*>(GetControlWZ_byPosition(kControl_Picture_P000));
if (control_pointer)
{
control_pointer->SetDiscardMessage(true);
}
control_pointer = static_cast<CControlWZ*>(GetControlWZ_byPosition(kControl_Text_S000));
if (control_pointer)
{
control_pointer->SetDiscardMessage(true);
}
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::Release()
{
}
//------------------------------------------------------------------------------
/**
*/
bool uiChaosZoneTimer::ShowInterface(BOOL val, BOOL show_off)
{
return uiBase::ShowInterface(val, show_off);
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::OnShowWindow(BOOL val)
{
if (val)
{
this->MoveDefaultWindowPos();
}
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::MessageProc(SI_MESSAGE* message)
{
if (this->IsLock())
{
return;
}
/*
switch (message->eResultMsg)
{
SolarDialog::MessageProc(message);
break;
}
*/
SolarDialog::MessageProc(message);
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::Process(DWORD tick)
{
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::OnUpdateSolarDialog()
{
#ifdef _NA_007114_20140313_CHAOSZONE_GOLDRUSH
DWORD battle_time = 0;
uiBattleScoreMan* battle_score_manager_ptr = GET_DIALOG_MANAGER(uiBattleScoreMan, UIMAN_BATTLE_SCORE);
if (!battle_score_manager_ptr ||
(battle_score_manager_ptr->GetIsInit() == false))
{
return;
}
switch (battle_score_manager_ptr->GetMode())
{
case uiBattleScoreMan::eBTS_NONE_MODE:
{
}
break;
case uiBattleScoreMan::eBTS_BATTLE_GROUND:
{
battle_time = ChaosSystem::GetBattleGroundData().GetBattleTime();
}
break;
case uiBattleScoreMan::eBTS_GOLD_RUSH:
{
battle_time = ChaosSystem::GetGoldRushData().GetGoldRushTime();
}
break;
default:
{
assert(!"¸ÂÁö ¾Ê´Â ModeÀÌ´Ù");
}
break;
}
#else
DWORD battle_time = ChaosSystem::GetBattleGroundData().GetBattleTime();
#endif // _NA_007114_20140313_CHAOSZONE_GOLDRUSH
CCtrlStaticWZ* text_control = static_cast<CCtrlStaticWZ*>(GetControlWZ_byPosition(kControl_Text_S001));
if (text_control)
{
int mili_second = battle_time % 1000;
battle_time /= 1000;
//int hour = battle_time / 3600;
battle_time %= 3600;
int minute = battle_time / 60;
battle_time %= 60;
int second = battle_time % 60;
TCHAR message_string[INTERFACE_STRING_LENGTH] = {0,};
TCHAR temp_string[INTERFACE_STRING_LENGTH] = {0,};
// 2692 %s
g_InterfaceManager.GetInterfaceString(2692, temp_string, INTERFACE_STRING_LENGTH);
Snprintf(message_string, INTERFACE_STRING_LENGTH-1, "%03d'%02d''%03d", minute, second, mili_second);
text_control->SetTextWZ(message_string);
}
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::OnRenderSolarDialog()
{
}
//------------------------------------------------------------------------------
/**
*/
void uiChaosZoneTimer::RegisterControl()
{
RegisterControlPosition(StrToWzID("P000"), kControl_Picture_P000);
RegisterControlPosition(StrToWzID("P001"), kControl_Picture_P001);
RegisterControlPosition(StrToWzID("T001"), kControl_Text_S000);
RegisterControlPosition(StrToWzID("T002"), kControl_Text_S001);
}
#endif //_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND