#include "SunClientPrecompiledHeader.h" #include "uiOptionMan.h" #include "uiOptionView.h" #include "uiOptionKeyBinding.h" #include "InterfaceManager.h" //------------------------------------------------------------------------------ const DWORD IM_OPTION_MANAGER::kOptionView_ID = StrToWzID("0451"); const DWORD IM_OPTION_MANAGER::kOptionKeyBindingView_ID = StrToWzID("0456"); //------------------------------------------------------------------------------ uiOptionMan::uiOptionMan(InterfaceManager* manager) : uiBaseMan(manager) ,tap_Page_(0) { } //------------------------------------------------------------------------------ void uiOptionMan::OnInitialize() { CreateUIDialog(IM_OPTION_MANAGER::kOptionView_ID, "Data\\Interface\\45_1_Game_Option.iwz", this, TRUE); CreateUIDialog(IM_OPTION_MANAGER::kOptionKeyBindingView_ID, "Data\\Interface\\45_6_Keybinding.iwz", this, TRUE); } //------------------------------------------------------------------------------ void uiOptionMan::NetworkProc(MSG_BASE* pk) { } void uiOptionMan::ShowOptionDialog( int ActiveTabIndex ) { if( g_InterfaceManager.IsShowDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID ) ) { SolarDialog* pOptionViewDialog = g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionView_ID ); SolarDialog* pKeyBindingDialog = g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID); if( pOptionViewDialog == NULL || pKeyBindingDialog == NULL ) return; CDialogWZ* pOptionViewDialogWZ = pOptionViewDialog->GetDialogWZ(); CDialogWZ* pKeyBindingDialogWZ = pKeyBindingDialog->GetDialogWZ(); RECT ClientRect; pKeyBindingDialogWZ->GetClientRect(&ClientRect); pOptionViewDialogWZ->MoveWindowWZ((float)ClientRect.left, (float)ClientRect.top, (float)ClientRect.right - (float)ClientRect.left, (float)ClientRect.bottom - (float)ClientRect.top ); } g_InterfaceManager.ShowDialog( IM_OPTION_MANAGER::kOptionView_ID, TRUE ); g_InterfaceManager.ShowDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID, FALSE ); uiOptionView* pViewDialog = (uiOptionView*)g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionView_ID ); pViewDialog->SetActivePageIndex(ActiveTabIndex); uiOptionMan* optionMan = (uiOptionMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_OPTION2); if(optionMan) { optionMan->tap_Page_ = 0; } } void uiOptionMan::ShowKeyBindingDialog() { if( g_InterfaceManager.IsShowDialog( IM_OPTION_MANAGER::kOptionView_ID ) ) { SolarDialog* pOptionViewDialog = g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionView_ID ); SolarDialog* pKeyBindingDialog = g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID); if( pOptionViewDialog == NULL || pKeyBindingDialog == NULL ) return; CDialogWZ* pOptionViewDialogWZ = pOptionViewDialog->GetDialogWZ(); CDialogWZ* pKeyBindingDialogWZ = pKeyBindingDialog->GetDialogWZ(); RECT ClientRect; pOptionViewDialogWZ->GetClientRect(&ClientRect); pKeyBindingDialogWZ->MoveWindowWZ((float)ClientRect.left, (float)ClientRect.top, (float)ClientRect.right - (float)ClientRect.left, (float)ClientRect.bottom - (float)ClientRect.top ); } g_InterfaceManager.ShowDialog( IM_OPTION_MANAGER::kOptionView_ID, FALSE ); g_InterfaceManager.ShowDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID, TRUE ); uiOptionMan* optionMan = (uiOptionMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_OPTION2); if(optionMan) { optionMan->tap_Page_ = 1; } } void uiOptionMan::ToggleShowActionTap() { uiOptionMan* optionMan = (uiOptionMan*)g_InterfaceManager.GetUserInterfaceManager(UIMAN_OPTION2); if(optionMan == NULL) { return; } //3¹ø Áï ۸ÊÀÇ °æ¿ì¿¡¸¸ ¿¹¿Üó¸® SolarDialog* pKeyBindingDialog = g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionKeyBindingView_ID); if(pKeyBindingDialog && optionMan->tap_Page_ == 1) { if(pKeyBindingDialog->IsVisible()) { pKeyBindingDialog->ShowDialog(FALSE); } else { pKeyBindingDialog->ShowDialog(TRUE); } return; } uiOptionView* pOptionViewDialog = (uiOptionView*)g_InterfaceManager.GetDialog( IM_OPTION_MANAGER::kOptionView_ID ); if(pOptionViewDialog) { if(pOptionViewDialog->IsVisible()) { pOptionViewDialog->ShowDialog(FALSE); } else { pOptionViewDialog->ShowDialog(TRUE); pOptionViewDialog->SetActivePageIndex(pOptionViewDialog->GetPageIndex()); } } }