⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 optiondialog.cpp

📁 墨香最新私服
💻 CPP
字号:
#include "stdafx.h"
#include "OptionDialog.h"
#include "WindowIDEnum.h"
#include "./Interface/cWindowManager.h"
#include "./Interface/cPushupButton.h"
#include "./Interface/cGuageBar.h"
#include "./Interface/cCheckBox.h"
#include "MacroManager.h"
#include "GameIn.h"
#include "cMsgBox.h"

#include "MacroDialog.h"

#include "MainBarDialog.h"


COptionDialog::COptionDialog()
{
//	m_pBtnPreview = NULL;
}

COptionDialog::~COptionDialog()
{

}

void COptionDialog::Add(cWindow * window)
{
	if(window->GetType() == WT_PUSHUPBUTTON)
		AddTabBtn(curIdx1++, (cPushupButton * )window);
	else if(window->GetType() == WT_DIALOG)
		AddTabSheet(curIdx2++, window);
	else 
		cTabDialog::Add(window);
}

void COptionDialog::Linking()
{
//	m_pBtnPreview = (cButton*)GetWindowForID( OTI_BTN_PREVIEW );
//	m_pBtnPreview->SetDisable( TRUE );
}

void COptionDialog::SetActive(BOOL val)
{
	if( !m_bDisable )
	{
		if( val )
		{
			m_GameOption = *( OPTIONMGR->GetGameOption() );
			UpdateData( FALSE );
		}

		cTabDialog::SetActive(val);
	}

//--- main bar icon
	CMainBarDialog* pDlg = GAMEIN->GetMainInterfaceDialog();
	if( pDlg )
		pDlg->SetPushBarIcon( OPT_OPTIONDLGICON, m_bActive );
}

void COptionDialog::UpdateData( BOOL bSave )
{
	cDialog* pDlg;

	if( bSave )	// 技泼等 可记 啊廉坷扁
	{
		pDlg = (cDialog*)GetTabSheet( 0 );	
		m_GameOption.bNoDeal		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NODEAL ))->IsChecked();
		m_GameOption.bNoParty		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOPARTY ))->IsChecked();
		m_GameOption.bNoFriend		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOFRIEND ))->IsChecked();
		m_GameOption.bNoVimu		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOFIGHT ))->IsChecked();
		m_GameOption.bNameMunpa		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_MUNPANAME ))->IsChecked();
		m_GameOption.bNameParty		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_PARTYNAME ))->IsChecked();
		m_GameOption.bNameOthers	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_OTHERSNAME ))->IsChecked();
		m_GameOption.nMacroMode		= ((cPushupButton*)pDlg->GetWindowForID( OTI_PB_MACROMODE ))->IsPushed();
		
		pDlg = (cDialog*)GetTabSheet( 1 );
		m_GameOption.bNoWhisper		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOWHISPER ))->IsChecked();
		m_GameOption.bNoChatting	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOCHATTING ))->IsChecked();
		m_GameOption.bNoBalloon		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOBALLOON ))->IsChecked();
		m_GameOption.bAutoHide		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_AUTOHIDE ))->IsChecked();
		m_GameOption.bNoSystemMsg	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOSYSTEMMSG ))->IsChecked();
		m_GameOption.bNoExpMsg		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOACQUIREMSG ))->IsChecked();
		m_GameOption.bNoItemMsg		= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOITEMMSG ))->IsChecked();

		pDlg = (cDialog*)GetTabSheet( 2 );
		m_GameOption.nGamma			= ((cGuageBar*)pDlg->GetWindowForID( OTI_GB_GAMMA ))->GetCurValue();
		m_GameOption.nSightDistance = ((cGuageBar*)pDlg->GetWindowForID( OTI_GB_SIGHT ))->GetCurValue();
//		m_GameOption.bGraphicCursor = ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_CURSOR ))->IsChecked();
		m_GameOption.bShadowHero	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_HEROSHADOW ))->IsChecked(  );
		m_GameOption.bShadowMonster = ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_MONSTERSHADOW ))->IsChecked(  );
		m_GameOption.bShadowOthers	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_OTHERSSHADOW ))->IsChecked( );

		pDlg = (cDialog*)GetTabSheet( 3 );
		m_GameOption.bSoundBGM			= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_BGMSOUND ))->IsChecked();
		m_GameOption.bSoundEnvironment	= ((cCheckBox*)pDlg->GetWindowForID( OTI_CB_ENVSOUND ))->IsChecked();
		m_GameOption.nVolumnBGM			= ((cGuageBar*)pDlg->GetWindowForID( OTI_GB_BGMSOUND ))->GetCurValue();
		m_GameOption.nVolumnEnvironment = ((cGuageBar*)pDlg->GetWindowForID( OTI_GB_ENVSOUND ))->GetCurValue();

		OPTIONMGR->SetGameOption( &m_GameOption );
	}
	else	//沥焊 啊瘤绊 客辑 芒 技泼
	{
		pDlg = (cDialog*)GetTabSheet( 0 );	
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NODEAL ))->SetChecked( m_GameOption.bNoDeal );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOPARTY ))->SetChecked( m_GameOption.bNoParty );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOFRIEND ))->SetChecked( m_GameOption.bNoFriend );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOFIGHT ))->SetChecked( m_GameOption.bNoVimu );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_MUNPANAME ))->SetChecked( m_GameOption.bNameMunpa );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_PARTYNAME ))->SetChecked( m_GameOption.bNameParty );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_OTHERSNAME ))->SetChecked( m_GameOption.bNameOthers );
		((cPushupButton*)pDlg->GetWindowForID( OTI_PB_CHATMODE ))->SetPush( !m_GameOption.nMacroMode );
		((cPushupButton*)pDlg->GetWindowForID( OTI_PB_MACROMODE ))->SetPush( m_GameOption.nMacroMode );
		
		pDlg = (cDialog*)GetTabSheet( 1 );	
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOWHISPER ))->SetChecked( m_GameOption.bNoWhisper );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOCHATTING ))->SetChecked( m_GameOption.bNoChatting );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOBALLOON ))->SetChecked( m_GameOption.bNoBalloon );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_AUTOHIDE ))->SetChecked( m_GameOption.bAutoHide );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOSYSTEMMSG ))->SetChecked( m_GameOption.bNoSystemMsg );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOACQUIREMSG ))->SetChecked( m_GameOption.bNoExpMsg );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_NOITEMMSG ))->SetChecked( m_GameOption.bNoItemMsg );

		pDlg = (cDialog*)GetTabSheet( 2 );
		((cGuageBar*)pDlg->GetWindowForID( OTI_GB_GAMMA ))->SetCurValue( m_GameOption.nGamma );
		((cGuageBar*)pDlg->GetWindowForID( OTI_GB_SIGHT ))->SetCurValue( m_GameOption.nSightDistance );
//		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_CURSOR ))->SetChecked( m_GameOption.bGraphicCursor );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_HEROSHADOW ))->SetChecked( m_GameOption.bShadowHero );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_MONSTERSHADOW ))->SetChecked( m_GameOption.bShadowMonster );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_OTHERSSHADOW ))->SetChecked( m_GameOption.bShadowOthers );

		pDlg = (cDialog*)GetTabSheet( 3 );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_BGMSOUND ))->SetChecked( m_GameOption.bSoundBGM );
		((cCheckBox*)pDlg->GetWindowForID( OTI_CB_ENVSOUND ))->SetChecked( m_GameOption.bSoundEnvironment );
		((cGuageBar*)pDlg->GetWindowForID( OTI_GB_BGMSOUND ))->SetCurValue( m_GameOption.nVolumnBGM );
		((cGuageBar*)pDlg->GetWindowForID( OTI_GB_ENVSOUND ))->SetCurValue( m_GameOption.nVolumnEnvironment );
	}
}

void COptionDialog::OnActionEvent(LONG lId, void * p, DWORD we)
{
	if( we & WE_BTNCLICK )
	{
		if( lId == OTI_BTN_OK )
		{
			UpdateData( TRUE );
			OPTIONMGR->ApplySettings();
			OPTIONMGR->SaveGameOption();
			OPTIONMGR->SendOptionMsg();
			SetActive( FALSE );
		}
//		else if( lId == OTI_BTN_PREVIEW )
//		{
//			UpdateData( TRUE );
//			OPTIONMGR->ApplySettings();
//			OPTIONMGR->SaveGameOption();
//			m_pBtnPreview->SetDisable( TRUE );
//		}
		else if( lId == OTI_BTN_CANCEL )
		{
			OPTIONMGR->CancelSettings();
			SetActive( FALSE );
		}
		else if( lId == OTI_BTN_RESET )
		{
			OPTIONMGR->SetDefaultOption();
			m_GameOption = *( OPTIONMGR->GetGameOption() );
			UpdateData( FALSE );
		}
		else if( lId == OTI_BTN_SETCHAT )
		{
/*
			if( GAMEIN->GetMacroDialog()->IsActive() )
			{
				GAMEIN->GetMacroDialog()->SetActive( FALSE );
			}
			else
			{
				GAMEIN->GetMacroDialog()->SetMode( MM_CHAT );
				GAMEIN->GetMacroDialog()->SetActive( TRUE );
			}
*/
		}
		else if( lId == OTI_BTN_SETMACRO )
		{
/*
			if( GAMEIN->GetMacroDialog()->IsActive() )
			{
				GAMEIN->GetMacroDialog()->SetActive( FALSE );
			}
			else
			{
				GAMEIN->GetMacroDialog()->SetMode( MM_MACRO );
				GAMEIN->GetMacroDialog()->SetActive( TRUE );
			}
*/
		}
	}
	
	if( we & WE_PUSHUP )		//扼叼坷 滚瓢 贸府
	{
		if( lId == OTI_PB_CHATMODE || lId == OTI_PB_MACROMODE )
			((cPushupButton*)((cDialog*)GetTabSheet( 0 ))->GetWindowForID( lId ))->SetPush( TRUE );
	}

	if( we & WE_PUSHDOWN )		//
	{
		if( lId == OTI_PB_CHATMODE )
		{
			((cPushupButton*)((cDialog*)GetTabSheet( 0 ))->GetWindowForID( OTI_PB_MACROMODE ))->SetPush( FALSE );
			m_GameOption.nMacroMode = MM_CHAT;
		}
		else if( lId == OTI_PB_MACROMODE )
		{
			((cPushupButton*)((cDialog*)GetTabSheet( 0 ))->GetWindowForID( OTI_PB_CHATMODE ))->SetPush( FALSE );
			m_GameOption.nMacroMode = MM_MACRO;
		}
	}

//	if( m_pBtnPreview->IsDisable() && lId != OTI_BTN_PREVIEW )
//		m_pBtnPreview->SetDisable( FALSE );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -