#include "SunClientPrecompiledHeader.h" #ifdef _NA_003923_20120222_GUILD_RENEWAL_UI_RENEWAL #include "GuildSystem/uiGuildMan.h" #include "GuildSystem/GuildSystemFunction.h" #include "GuildSystem/GuildSystemPacketFunction.h" #include "GuildSystem/GuildSystemData.h" #include "GuildSystem/uiGuildLog.h" #include "GuildSystem/uiGuildInfo.h" #include "InterfaceManager.h" #include "GlobalFunc.h" #include "GameFunc.h" #include "MultiVScrollDialog.h" #include "ItemInfoParser.h" #include "uiToolTipMan/uiToolTipMan.h" const DWORD uiGuildLog::kDialog_ID = StrToWzID("7345"); //---------------------------------------------------------------------------- /** */ uiGuildLog::uiGuildLog(InterfaceManager* ui_manager) :uiBase(ui_manager) { set_warehouse_log_type(kMaxWareHouseLog); set_ware_house_vscroll(NULL); } //---------------------------------------------------------------------------- /** */ uiGuildLog::~uiGuildLog(void) { Release(); } //---------------------------------------------------------------------------- /** */ void uiGuildLog::Init(CDrawBase* draw_base) { uiBase::Init(draw_base); RegisterControlPosition(StrToWzID("C000"), kControl_CheckBT_C000); RegisterControlPosition(StrToWzID("C001"), kControl_CheckBT_C001); RegisterControlPosition(StrToWzID("C002"), kControl_CheckBT_C002); RegisterControlPosition(StrToWzID("C003"), kControl_CheckBT_C003); RegisterControlPosition(StrToWzID("C004"), kControl_CheckBT_C004); RegisterControlPosition(StrToWzID("C005"), kControl_CheckBT_C005); RegisterControlPosition(StrToWzID("C006"), kControl_CheckBT_C006); RegisterControlPosition(StrToWzID("C007"), kControl_CheckBT_C007); RegisterControlPosition(StrToWzID("C008"), kControl_CheckBT_C008); RegisterControlPosition(StrToWzID("C009"), kControl_CheckBT_C009); RegisterControlPosition(StrToWzID("C010"), kControl_CheckBT_C010); RegisterControlPosition(StrToWzID("C012"), kControl_CheckBT_C012); #ifdef _NA_008334_20150608_SONNENSCHEIN RegisterControlPosition(StrToWzID("C011"), kControl_CheckBT_C011); #endif //_NA_008334_20150608_SONNENSCHEIN RegisterControlPosition(StrToWzID("L000"), kControl_List_L000); RegisterControlPosition(StrToWzID("L001"), kControl_List_L001); RegisterControlPosition(StrToWzID("V000"), kControl_VScroll_V000); RegisterControlPosition(StrToWzID("V001"), kControl_VScroll_V001); VScrollDialog::ResizeingVScrollControl(40, 0); set_ware_house_vscroll(new MultiVScrollDialog(GetControlWZ_byPosition(kControl_VScroll_V001), GetControlWZ_byPosition(kControl_List_L001))); ware_house_vscroll()->ResizeingVScrollControl(0, 0); list_control_ = static_cast(GetControlWZ(GetControlID_byPosition(kControl_List_L000))); assert(list_control_); if (list_control_ != NULL) { list_control_->SetUseReport(true); list_control_->SetSellHeight(19); list_control_->SetReportUseCnt(2); list_control_->SetHideReportRender(TRUE); list_control_->SetReportButtonInfo(0, 160, NULL); // ½Ã°£ list_control_->SetReportButtonInfo(1, 441, NULL); // ³»¿ë list_control_->SetUnuseSelBar(true); } CCtrlListWZ* log_list_control = static_cast(GetControlWZ_byPosition(kControl_List_L001)); if (log_list_control != NULL) { log_list_control->SetUseReport(true); log_list_control->SetSellHeight(19); log_list_control->SetReportUseCnt(3); log_list_control->SetHideReportRender(TRUE); log_list_control->SetReportButtonInfo(0, 160, NULL); // ÀÌ¿ë½Ã°£ log_list_control->SetReportButtonInfo(1, 175, NULL); // ij¸¯Å͸í log_list_control->SetReportButtonInfo(2, 264, NULL); // À̿볻¿ª } set_refresh_wait_time(0); } //---------------------------------------------------------------------------- /** */ void uiGuildLog::Release() { if (ware_house_vscroll()) { delete(ware_house_vscroll()); set_ware_house_vscroll(NULL); } } //---------------------------------------------------------------------------- /** */ void uiGuildLog::MessageProc(SI_MESSAGE* message) { if (IsLock()) return; if (GetMan() == NULL) return; switch (message->eResultMsg) { case RT_MSG_LBUTTONCLICK: OnLButtonClick(message); break; case RT_MSG_SB_LINETOP: { if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V000) { OnVScrollUp(message); } if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V001 && ware_house_vscroll()) { ware_house_vscroll()->OnVScrollUp(message); } } break; case RT_MSG_SB_LINEBOTTOM: { if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V000) { OnVScrollDown(message); } if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V001 && ware_house_vscroll()) { ware_house_vscroll()->OnVScrollDown(message); } } break; case RT_MSG_SB_THUMBTRACK: //!< ½æÀ» µå·¡±× Çϰí ÀÖ´Ù. case RT_MSG_SB_THUMBPOSITION: //!< ½æÀ» µå·¡±×ÇÑÈÄ ¸¶¿ì½º¸¦ ³õ¾Ò´Ù. case RT_MSG_SB_ENDSCROLL: //!< ½ºÅ©·ÑÀÌ Á¾·á µÇ¾ú´Ù. { if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V000) { OnVScrollThumb(message); } if (GetControlPosition_byID(message->dwCtrlID) == kControl_VScroll_V001 && ware_house_vscroll()) { ware_house_vscroll()->OnVScrollThumb(message); } } break; default: SolarDialog::MessageProc(message); break; } } //---------------------------------------------------------------------------- /** */ bool uiGuildLog::OnLButtonClick(SI_MESSAGE* message) { bool result = true; DWORD control_position = GetControlPosition_byID(message->dwCtrlID); switch (control_position) { case kControl_CheckBT_C000: case kControl_CheckBT_C001: case kControl_CheckBT_C003: case kControl_CheckBT_C004: case kControl_CheckBT_C002: #ifdef _NA_008334_20150608_SONNENSCHEIN case kControl_CheckBT_C011: #endif //_NA_008334_20150608_SONNENSCHEIN { uiGuildInfo* ui_guild_info = GET_CAST_DIALOG(uiGuildInfo, uiGuildInfo::kDialog_ID); if (ui_guild_info != NULL) { ui_guild_info->tab_button_controller().OnClickTab( control_position - kControl_CheckBT_C000); } RefreshTab(); } break; case kControl_CheckBT_C005: case kControl_CheckBT_C007: case kControl_CheckBT_C008: case kControl_CheckBT_C009: case kControl_CheckBT_C006: { GuildLogInfoType select_type = static_cast(control_position - kControl_CheckBT_C005); if (select_type != guild_info_log_type()) { InitGuildInfoLog(); set_guild_info_log_type(select_type); SetGuildLogUpList(); } } break; case kControl_CheckBT_C012: case kControl_CheckBT_C010: { WareHouseLogType select_type = static_cast(control_position - kControl_CheckBT_C012); if (select_type != warehouse_log_type()) { InitGuildWareHouseLog(); set_warehouse_log_type(select_type); UpdateGuildWareHouseLog(); } } break; } return result; } //---------------------------------------------------------------------------- /** */ void uiGuildLog::OnShowWindow(BOOL val) { if (val) { // ±æµå â°í ·Î±× ¿äû // [GUILD_RENEWAL] ÁÖ±âÀûÀ¸·Î ¿äûÇÏ´Â °ÍÀ¸·Î º¯°æ ÇÊ¿ä GuildSystem::PacketFunction::SEND_CW_GUILD_WAREHOUSE_LOGLIST_REQ(); GuildSystem::PacketFunction::SEND_CG_GUILD_IN_GAME_GUILD_LOG_LIST_REQ(); set_warehouse_log_type(kDepositLog); set_guild_info_log_type(kAllLog); } else { set_warehouse_log_type(kMaxWareHouseLog); set_guild_info_log_type(kMaxGuildLog); } } //---------------------------------------------------------------------------- /** */ void uiGuildLog::NetworkProc(MSG_BASE* recv_packet) { if(recv_packet->m_byCategory == CG_GUILD){ switch (recv_packet->m_byProtocol) { case CG_GUILD_WAREHOUSE_OPEN_ACK: { /*MSG_CG_GUILD_WAREHOUSE_OPEN_ACK* warehouse_packet = (MSG_CG_GUILD_WAREHOUSE_OPEN_ACK*)recv_packet; ShowInterfaceWithSound(TRUE); FlushUnitDraw(); BitStream bitstream(warehouse_packet->m_BitStreamBuffer, warehouse_packet->m_Size, FALSE); SCItemSlotContainer::Serialize(bitstream, eSLOT_SERIALIZE_CLIENT_SAVE); set_max_tab(warehouse_packet->m_SlotTabNum); set_balance(warehouse_packet->m_WarehouseMoney); set_current_tab(0); ReFreshRenderSlot(); control_flag().insert(kUseStart);*/ } break; default: { } break; } } } //---------------------------------------------------------------------------- void uiGuildLog::SetGuildLogUpList() { CCtrlListWZ* log_list_control = static_cast(GetControlWZ_byPosition(kControl_List_L000)); CCtrlVScrollWZ* log_scroll = static_cast(GetControlWZ_byPosition(kControl_VScroll_V000)); if ((log_list_control == NULL) || (log_scroll == NULL)) { assert(log_list_control); assert(log_scroll); return; } GuildSystem::GuildSystemData::GuildLogInfoContainer& guild_info_log_container = GuildSystem::GetGuildSystemData().guild_log_info_container(); int begin_index = log_list_control->GetBeginDrawIndex(); log_list_control->DeleteItemAll(); int log_list_index = 0; std::vector temp_string_container; TCHAR log_string[INTERFACE_STRING_LENGTH] = {'\0', }; GuildSystem::GuildSystemData::GuildLogInfoContainer::iterator log_begin_itr = guild_info_log_container.begin(); GuildSystem::GuildSystemData::GuildLogInfoContainer::iterator log_end_itr = guild_info_log_container.end(); for ( ; log_begin_itr != log_end_itr; ++log_begin_itr) { GuildSystem::GuildSystemData::GuildLogInfo& log_info = log_begin_itr->second; if ((guild_info_log_type() != kAllLog) && (guild_info_log_type() != (log_info.guild_log_category + 1))) { continue; } log_list_index = log_list_control->InsertItemBack(); DWORD log_color = GetGuildLogColor(log_info.guild_log_data.log_type_); // ½Ã°£ GetLogDateString(log_info.guild_log_data.log_time_, log_string, INTERFACE_STRING_LENGTH); log_list_control->SetItemWZ(log_list_index, 0, log_string, StrToWzID("st11"), DT_CENTER | DT_VCENTER, RGBA(0,0,0,0), log_color, log_color); // ³»¿ë GetGuildLogInfoString(log_info.guild_log_data, log_string, INTERFACE_STRING_LENGTH); temp_string_container.clear(); GlobalFunc::ProcessWordWrapByFontSize(&temp_string_container, log_string, StrToWzID("st11"), _tcslen(log_string), 425); std::vector::iterator begin_itr = temp_string_container.begin(); std::vector::iterator end_itr = temp_string_container.end(); if (begin_itr != end_itr) { log_list_control->SetItemWZ(log_list_index, 1, begin_itr->c_str(), StrToWzID("st11"), DT_LEFT | DT_VCENTER, RGBA(0,0,0,0), log_color, log_color); ++begin_itr; for ( ; begin_itr != end_itr; ++begin_itr) { log_list_index = log_list_control->InsertItemBack(); log_list_control->SetItemWZ(log_list_index, 1, begin_itr->c_str(), StrToWzID("st11"), DT_LEFT | DT_VCENTER, RGBA(0,0,0,0), log_color, log_color); } } } int scroll_range = (log_list_index - log_list_control->GetDrawRowCount()); scroll_range = max(0, scroll_range); //begin_index = max(0, begin_index); //begin_index = min(begin_index, scroll_range); ResizeingVScrollControl(scroll_range, begin_index); log_list_control->SetBeginDrawIndex(begin_index); } //---------------------------------------------------------------------------- /** */ void uiGuildLog::OnUpdateSolarDialog() { VScrollDialog::Update(); if (ware_house_vscroll()) { ware_house_vscroll()->Update(); } // ÅǹöưÀÇ »óŰ»½Å CCtrlButtonCheckWZ* check_button = NULL; for (DWORD tab_index = kAllLog; tab_index < kMaxGuildLog; ++tab_index) { check_button = static_cast(GetControlWZ_byPosition(tab_index + kControl_CheckBT_C005)); if (check_button == NULL) { continue; } check_button->SetCheckState((tab_index == guild_info_log_type()) ? (true) : (false)); } check_button = NULL; for (tab_index = kDepositLog; tab_index < kMaxWareHouseLog; ++tab_index) { check_button = static_cast(GetControlWZ_byPosition(tab_index + kControl_CheckBT_C012)); if (check_button == NULL) { continue; } check_button->SetCheckState((tab_index == warehouse_log_type()) ? (true) : (false)); } } //------------------------------------------------------------------------------ void uiGuildLog::Process( DWORD dwTick ) { if (IsVisible() == TRUE) { set_refresh_wait_time(refresh_wait_time() + dwTick); if (refresh_wait_time() >= kGuildLogRefreshTime) { GuildSystem::PacketFunction::SEND_CG_GUILD_IN_GAME_GUILD_LOG_LIST_REQ(); set_refresh_wait_time(0); } } } //------------------------------------------------------------------------------ CCtrlVScrollWZ* uiGuildLog::vscroll_control() { return GetVScrollControlWZ(GetControlID_byPosition(kControl_VScroll_V000)); } //------------------------------------------------------------------------------ bool uiGuildLog::GetScrollArea(RECT& area) { if (IsOverControl(GetControlWZ_byPosition(kControl_List_L000)) == true) { area = GetControlWZ_byPosition(kControl_List_L000)->GetSizeRect(); return true; } return false; } //------------------------------------------------------------------------------ bool uiGuildLog::OnVScrollThumb(SI_MESSAGE* msg) { if (vscroll_control() == NULL) { return false; } if (VScrollDialog::OnVScrollThumb(msg) == true) { GetListControlWZ(GetControlID_byPosition(kControl_List_L000))->SetBeginDrawIndex(vscroll_control()->GetScrollPosWZ()); return true; } return false; } //------------------------------------------------------------------------------ bool uiGuildLog::OnVScrollUp(SI_MESSAGE* msg) { if (vscroll_control() == NULL) { return false; } if (VScrollDialog::OnVScrollUp(msg) == true) { GetListControlWZ(GetControlID_byPosition(kControl_List_L000))->SetBeginDrawIndex(vscroll_control()->GetScrollPosWZ()); return true; } return false; } //------------------------------------------------------------------------------ bool uiGuildLog::OnVScrollDown(SI_MESSAGE* msg) { if (vscroll_control() == NULL) { return false; } if (VScrollDialog::OnVScrollDown(msg) == true) { GetListControlWZ(GetControlID_byPosition(kControl_List_L000))->SetBeginDrawIndex(vscroll_control()->GetScrollPosWZ()); return true; } return false; } void uiGuildLog::RefreshTab() { CCtrlButtonCheckWZ* check_button = NULL; for (int position = kControl_CheckBT_C000; position < (kControl_CheckBT_C002 + 1); ++position) { check_button = static_cast(GetControlWZ(GetControlID_byPosition(position))); if (check_button == NULL) { continue; } check_button->SetCheckState((position == kControl_CheckBT_C002) ? (true) : (false)); } } void uiGuildLog::UpdateGuildWareHouseLog() { CCtrlListWZ* log_list_control = static_cast(GetControlWZ_byPosition(kControl_List_L001)); CCtrlVScrollWZ* log_scroll = static_cast(GetControlWZ_byPosition(kControl_VScroll_V001)); if ((log_list_control == NULL) || (log_scroll == NULL)) { assert(log_list_control); assert(log_scroll); return; } using namespace GuildSystem; GuildSystemData::GuildWareHouseLogContainer* warehouse_log_container = NULL; switch (warehouse_log_type()) { case kDepositLog: { warehouse_log_container = &(GuildSystem::GetGuildSystemData().wareshoue_deposit_log()); } break; case kWithdrawLog: { warehouse_log_container = &(GuildSystem::GetGuildSystemData().wareshoue_withdraw_log()); } break; } if (warehouse_log_container == NULL) { return; } int begin_index = log_list_control->GetBeginDrawIndex(); log_list_control->DeleteItemAll(); int log_list_index = 0; TCHAR log_string[INTERFACE_STRING_LENGTH] = {'\0', }; GuildSystemData::GuildWareHouseLogContainer::iterator log_begin_itr = warehouse_log_container->begin(); GuildSystemData::GuildWareHouseLogContainer::iterator log_end_itr = warehouse_log_container->end(); for ( ; log_begin_itr != log_end_itr; ++log_begin_itr) { STRUCT_GUILDWAREHOUSE_LOGINFO& log_info = (*log_begin_itr); log_list_index = log_list_control->InsertItemBack(); // ÀÌ¿ë½Ã°£ GetLogDateString(log_info.m_UsedTime, log_string, INTERFACE_STRING_LENGTH); log_list_control->SetItemWZ(log_list_index, 0, log_string, StrToWzID("st11"), DT_CENTER | DT_VCENTER, RGBA(0,0,0,0), RGBA(255,255,255,255), RGBA(255,255,255,255)); // ij¸¯Å͸í log_list_control->SetItemWZ(log_list_index, 1, log_info.m_UsedCharName, StrToWzID("st11"), DT_CENTER | DT_VCENTER, RGBA(0,0,0,0), RGBA(255,255,255,255), RGBA(255,255,255,255)); // À̿볻¿ª GetWareHouseLogInfoString(log_info, log_string, INTERFACE_STRING_LENGTH); log_list_control->SetItemWZ(log_list_index, 2, log_string, StrToWzID("st11"), DT_CENTER | DT_VCENTER, RGBA(0,0,0,0), RGBA(255,255,255,255), RGBA(255,255,255,255)); } int scroll_range = (log_list_index - log_list_control->GetDrawRowCount()); scroll_range = max(0, scroll_range); begin_index = max(0, begin_index); begin_index = min(begin_index, scroll_range); ware_house_vscroll()->ResizeingVScrollControl(scroll_range, begin_index); log_list_control->SetBeginDrawIndex(begin_index); } void uiGuildLog::GetGuildLogInfoString(GuildInGameLogData& IN log_info, TCHAR* OUT info_string, int size_buffer ) { if (info_string == NULL) { return; } ZeroMemory(info_string, size_buffer); TCHAR temp_string_1[INTERFACE_STRING_LENGTH] = {'\0', }; TCHAR temp_string_2[INTERFACE_STRING_LENGTH] = {'\0', }; switch (log_info.log_type_) { case GuildCreate: //±æµå â¼³ { // 7368 %s ±æµå°¡ â¼³µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7368, log_info.string_param_); } break; case GuildLevelUp: //±æµå ·¹º§¾÷ { _itot(log_info.param1_, temp_string_1, 10); // 7369 ±æµåÀÇ ·¹º§ÀÌ %s·Î »ó½ÂÇÏ¿´½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7369, temp_string_1); } break; case GuildLevelDown: //±æµå ·¹º§ ´Ù¿î { _itot(log_info.param1_, temp_string_1, 10); // 7370 ±æµåÀÇ ·¹º§ÀÌ %s·Î Ç϶ôÇÏ¿´½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7370, temp_string_1); } break; case GuildEquipmentApply: //±æµå ½Ã¼³ Ȱ¼ºÈ­ { g_InterfaceManager.GetInterfaceString( GuildSystem::Function::GetInstitutionNameCode(log_info.param1_), temp_string_1); // 7373 ±æµå½Ã¼³ %s°¡ Ȱ¼ºÈ­ µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7373, temp_string_1); } break; case GuildEquipmentLevelup: //±æµå ½Ã¼³ ·¹º§ ¾÷ { g_InterfaceManager.GetInterfaceString( GuildSystem::Function::GetInstitutionNameCode(log_info.param1_), temp_string_1); _itot(log_info.param2_, temp_string_2, 10); // 7371 ±æµå½Ã¼³ %sÀÇ ·¹º§ÀÌ %s·Î »ó½ÂµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7371, temp_string_1, temp_string_2); } break; case GuildEquipmentLevelDown://±æµå ½Ã¼³ ·¹º§ ´Ù¿î { g_InterfaceManager.GetInterfaceString( GuildSystem::Function::GetInstitutionNameCode(log_info.param1_), temp_string_1); _itot(log_info.param2_, temp_string_2, 10); // 7372 ±æµå½Ã¼³ %sÀÇ ·¹º§ÀÌ %s·Î »ó½ÂµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7372, temp_string_1, temp_string_2); } break; case GuildGivePoint: //±æµå Æ÷ÀÎÆ® ±âºÎ { _itot(log_info.param1_, temp_string_1, 10); // 7374 %s´ÔÀÌ ±æµåÄÚÀÎÀ» %s°³ ±âºÎÇϼ̽À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7374, log_info.string_param_, temp_string_1); } break; case GuildChangeName: //±æµå À̸§ º¯°æ { // 7375 %s·Î ±æµå¸íÀÌ º¯°æµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7375, log_info.string_param_); } break; case GuildRegisterMark: //±æµå ¸¶Å© µî·Ï { // 7376 ±æµå¸¶Å©°¡ µî·ÏµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceString(7376, info_string); } break; case GuildRegisterAnnounce: //±æµå °øÁö µî·Ï { // 7377 ±æµå°øÁö°¡ µî·ÏµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceString(7377, info_string); } break; case GuildRegisterIntroduce: //±æµå ¼Ò°³ µî·Ï { // 7378 ±æµå¼Ò°³°¡ µî·ÏµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceString(7378, info_string); } break; case GuildMemberJoin: //°¡ÀÔ { // 7379 %s´ÔÀÌ ±æµå¿¡ °¡ÀÔÇϼ̽À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7379, log_info.string_param_); } break; case GuildMemberKick: //Á¦¸í { // 7381 %s´ÔÀÌ ±æµå¿¡¼­ Á¦¸íµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7381, log_info.string_param_); } break; case GuildMemberOut: //Å»Åð { // 7380 %s´ÔÀÌ ±æµå¸¦ Å»ÅðÇϼ̽À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7380, log_info.string_param_); } break; case GuildDutyChange: //Á÷Ã¥ º¯°æ { eGUILD_DUTY guild_duty = static_cast(log_info.param1_); g_InterfaceManager.GetInterfaceString( GuildSystem::Function::GetGuildDutyStringCode(guild_duty), temp_string_1); // 7382 %s´ÔÀÌ %s·Î Á÷Ã¥ÀÌ º¯°æµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7382, log_info.string_param_, temp_string_1); } break; case GuildChangeMaster: //±æµåÀå º¯°æ { // 7383 ±æµåÀåÀÌ %s´ÔÀ¸·Î º¯°æµÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7383, log_info.string_param_); } break; case GuildRelationAllienceSet: //±æµå µ¿¸Í °ü°è ¼³Á¤ { // 7384 %s±æµå¿Í µ¿¸Í±æµå°¡ µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7384, log_info.string_param_); } break; case GuildRelationAllienceCancle: //±æµå µ¿¸Í °ü°è ÇØÁö { // 7385 %s±æµå¿Í µ¿¸Í°ü°è°¡ ÇØÁ¦µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7385, log_info.string_param_); } break; case GuildSendHostilitySet: //±æµå Àû´ë °ü°è ¼±Æ÷ { // 7386 %s±æµå¿¡°Ô Àû´ë¸¦ ¼±Æ÷ÇÏ¿´½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7386, log_info.string_param_); } break; case GuildRecvHostilitySet: //±æµå Àû´ë °ü°è ¹ÞÀ½ { // 7387 %s±æµå·ÎºÎÅÍ Àû´ë°ü°è°¡ ¼±Æ÷µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7387, log_info.string_param_); } break; case GuildBothHostilitySet: //±æµå Àû´ë °ü°è ¼³Á¤ { // 7388 %s±æµå¿Í Àû´ë±æµå°¡ µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7388, log_info.string_param_); } break; case GuildHostilityCancel: //±æµå Àû´ë °ü°è ÇØÁ¦ { // 7389 %s±æµå¿Í Àû´ë°ü°è°¡ ÇØÁ¦µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7389, log_info.string_param_); } break; case GuildSelectedDomiAttack://Á¡·ÉÀü °ø°Ý ±æµå ¼±Á¤ { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } // 7390 %sÁö¿ª¿¡ °ø°Ý±æµå·Î ´ç÷µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7390, temp_string_1); } break; case GuildNotifyDomiAttack: //Á¡·ÉÀü °ø°Ý ±æµå ¼±Á¤ ¾Ë¸² { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } // 7391 Á¡·ÉÁßÀÎ %sÁö¿ª¿¡ %s±æµå°¡ °ø°Ý±æµå·Î ¼±Á¤µÇ¾ú½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7391, temp_string_1, log_info.string_param_); } break; case GuildSuccessDomiAttack: //Á¡·ÉÀü °ø°Ý ¼º°ø { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } // 7393 %sÁö¿ªÀ» %s±æµå·ÎºÎÅÍ È¹µæÇÏ¿´½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7393, temp_string_1); } break; case GuildSuccessDomiDefense://Á¡·ÉÀü ¹æ¾î ¼º°ø { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } // 7392 %sÁö¿ª ¹æ¾î¿¡ ¼º°øÇÏ¿´½À´Ï´Ù g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7392, temp_string_1); } break; case GuildAuctionBatting://Á¡·ÉÀü °æ¸Å ¹èÆÃ { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } GlobalFunc::SetPointText(temp_string_2, log_info.param2_); // 7395 %s Áö¿ª¿¡ ÃÑ %s°³ÀÇ ¿ÕÀÇ ÁõÇ¥¸¦ ÀÔÂûÇÏ¿´½À´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 7395, temp_string_1, temp_string_2); } break; case GuildFailAuction://Á¡·ÉÀü ÀÔÂû ½ÇÆÐ { const sMAPINFO* map_info = MapInfoParser::Instance()->FindMapInfo(static_cast(log_info.param1_)); if (map_info != NULL) { g_InterfaceManager.GetInterfaceString(map_info->dwNCode, temp_string_1); } GlobalFunc::SetPointText(temp_string_2, log_info.param2_); // 3393 %s Áö¿ªÀÇ ÃÖÁ¾ÀÔÂû °¹¼ö´Â %s°³ÀÔ´Ï´Ù. g_InterfaceManager.GetInterfaceStringFormat( info_string, size_buffer, 3393, temp_string_1, temp_string_2); } break; } } DWORD uiGuildLog::GetGuildLogColor(BYTE log_type) { DWORD log_color = RGBA(255,255,255,255); switch (log_type) { case GuildLevelUp: //±æµå ·¹º§¾÷ case GuildEquipmentApply: //±æµå ½Ã¼³ Ȱ¼ºÈ­ case GuildEquipmentLevelup: //±æµå ½Ã¼³ ·¹º§ ¾÷ case GuildGivePoint: //±æµå Æ÷ÀÎÆ® ±âºÎ case GuildMemberJoin: //°¡ÀÔ case GuildRelationAllienceSet: //±æµå °ü°è ¼³Á¤ case GuildRelationAllienceCancle://±æµå °ü°è ÇØÁö case GuildSelectedDomiAttack://Á¡·ÉÀü °ø°Ý ±æµå ¼±Á¤ case GuildSuccessDomiAttack: //Á¡·ÉÀü °ø°Ý ¼º°ø case GuildSuccessDomiDefense://Á¡·ÉÀü ¼öºñ ¼º°ø { log_color = RGBA(100, 100, 250, 255); } break; case GuildLevelDown: //±æµå ·¹º§ ´Ù¿î case GuildEquipmentLevelDown://±æµå ½Ã¼³ ·¹º§ ´Ù¿î case GuildMemberKick: //Á¦¸í case GuildMemberOut: //Å»Åð case GuildSendHostilitySet: //±æµå Àû´ë °ü°è ¼±Æ÷ case GuildRecvHostilitySet: //±æµå Àû´ë °ü°è ¹ÞÀ½ case GuildBothHostilitySet: //±æµå Àû´ë °ü°è ¼³Á¤ case GuildHostilityCancel: //±æµå Àû´ë °ü°è ÇØÁ¦ case GuildNotifyDomiAttack: //³» Áö¿ª¿¡ °ø°Ý ±æµå°¡ ¼±Á¤ case GuildFailAuction: //Á¡·ÉÀü ÀÔÂû ½ÇÆÐ { log_color = RGBA(204, 0, 0, 255); } break; case GuildAuctionBatting: //Á¡·ÉÀü °æ¸Å ¹èÆÃ { } break; } return log_color; } void uiGuildLog::GetWareHouseLogInfoString(STRUCT_GUILDWAREHOUSE_LOGINFO& IN log_info, TCHAR* OUT info_string, int size_buffer) { if (info_string == NULL) { return; } ZeroMemory(info_string, size_buffer); if ((log_info.m_LogType == ITEM_IN) || (log_info.m_LogType == ITEM_OUT)) { BASE_ITEMINFO* item_info = ItemInfoParser::Instance()->GetItemInfo(log_info.m_ItemCode); if (item_info != NULL) { TCHAR item_name[INTERFACE_STRING_LENGTH] = {'\0', }; TCHAR temp_item_name[INTERFACE_STRING_LENGTH] = {'\0', }; GameFunc::GetItemName(NULL, item_info, temp_item_name, INTERFACE_STRING_LENGTH); if(item_info->IsArmor() || item_info->IsWeapon()) { if (0 == log_info.m_LimiteCode) { Snprintf(item_name, INTERFACE_STRING_LENGTH, _T("%s"), temp_item_name); } else { //11283 ¸®¹ÌƼµå Snprintf(item_name, INTERFACE_STRING_LENGTH, _T("%s %s"), g_InterfaceManager.GetInterfaceString(11283), temp_item_name); } } else { g_InterfaceManager.GetInterfaceString(item_info->m_NCode, temp_item_name); if (0 == log_info.m_ItemNum) Snprintf(item_name, INTERFACE_STRING_LENGTH, _T("%s"), temp_item_name); else Snprintf(item_name, INTERFACE_STRING_LENGTH, _T("%s X %d"), temp_item_name, log_info.m_ItemNum); } strncpy(info_string, item_name, size_buffer); } } else if ((log_info.m_LogType == MONEY_IN) || (log_info.m_LogType == MONEY_OUT)) { TCHAR money_string[INTERFACE_STRING_LENGTH] = {'\0', }; TCHAR temp_stringe[INTERFACE_STRING_LENGTH] = {'\0', }; Snprintf(temp_stringe, INTERFACE_STRING_LENGTH, _T("%I64u"), log_info.m_Money); NUMBERFMT nFmt = { 0, 0, 3, _T("."), _T(","), 1 }; ::GetNumberFormat( LOCALE_SYSTEM_DEFAULT, NULL, temp_stringe, &nFmt, money_string, sizeof(money_string)); //999 ÇÏÀÓ Snprintf(info_string, size_buffer, _T("%s %s"), money_string, g_InterfaceManager.GetInterfaceString(999)); } } void uiGuildLog::GetLogDateString(INT64 log_time, TCHAR* OUT info_string, int size_buffer ) { if (info_string == NULL) { return; } ZeroMemory(info_string, size_buffer); TCHAR temp_string[12 + 1] = {'\0', }; _i64toa(log_time, temp_string, 10); #ifdef _INTERNATIONAL_DATE_TOOLTIP uiToolTipMan* tooltip_manager = GET_DIALOG_MANAGER(uiToolTipMan, UIMAN_TOOLTIP); TCHAR month_string[INTERFACE_STRING_LENGTH] = {'\0', }; if (tooltip_manager != NULL) { month_string[0] = temp_string[4]; month_string[1] = temp_string[5]; month_string[2] = '\0'; //¿ùÀ» ¿µ¹®½ºÆ®¸µÀ¸·Î ±³Ã¼ int string_code = tooltip_manager->GetStringMonth(atoi(month_string)); g_InterfaceManager.GetInterfaceString(string_code, month_string); } #ifdef _RUSSIA // ·¯½Ã¾Æ july.02.2009 (12:12). Snprintf(info_string,size_buffer, _T("%s.%c%c.%c%c%c%c (%c%c:%c%c)."),month_string //¿ù(july) ,temp_string[6], temp_string[7] //1ÀÏ , temp_string[0], temp_string[1], temp_string[2], temp_string[3] //2009 , temp_string[8], temp_string[9], temp_string[10], temp_string[11]);//(00:00) #else // ±Û·Î¹ú july/02 (12:12), 2009 Snprintf(info_string,size_buffer, _T("%s %c%c (%c%c:%c%c), %c%c%c%c"),month_string //¿ù(july) ,temp_string[6], temp_string[7] //1ÀÏ , temp_string[8], temp_string[9], temp_string[10], temp_string[11]//(00:00) , temp_string[0], temp_string[1], temp_string[2], temp_string[3]);//2009 #endif //_RUSSIA #else Snprintf(info_string, size_buffer, _T("%c%c%c%c/%c%c/%c%c %c%c:%c%c"), temp_string[0], temp_string[1], temp_string[2], temp_string[3] , temp_string[4], temp_string[5], temp_string[6], temp_string[7] , temp_string[8], temp_string[9], temp_string[10], temp_string[11]); #endif//_INTERNATIONAL_DATE_TOOLTIP } void uiGuildLog::InitGuildWareHouseLog() { CCtrlListWZ* log_list_control = static_cast(GetControlWZ_byPosition(kControl_List_L001)); CCtrlVScrollWZ* log_scroll = static_cast(GetControlWZ_byPosition(kControl_VScroll_V001)); if ((log_list_control == NULL) || (log_scroll == NULL)) { assert(log_list_control); assert(log_scroll); return; } log_list_control->SetBeginDrawIndex(0); log_scroll->SetScrollPosWZ(0); } void uiGuildLog::InitGuildInfoLog() { CCtrlListWZ* log_list_control = static_cast(GetControlWZ_byPosition(kControl_List_L000)); CCtrlVScrollWZ* log_scroll = static_cast(GetControlWZ_byPosition(kControl_VScroll_V000)); if ((log_list_control == NULL) || (log_scroll == NULL)) { assert(log_list_control); assert(log_scroll); return; } log_list_control->SetBeginDrawIndex(0); log_scroll->SetScrollPosWZ(0); } #endif //_NA_003923_20120222_GUILD_RENEWAL_UI_RENEWAL