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

📄 menusingleplayer.cpp

📁 Blood 2全套源码
💻 CPP
字号:
// MenuSinglePlayer.cpp: implementation of the CMenuSinglePlayer class.
//
//////////////////////////////////////////////////////////////////////

#include "MenuBase.h"
#include "MainMenus.h"
#include "MenuCommands.h"
#include "MenuSinglePlayer.h"
#include "BloodClientShell.h"
#include "Splash.h"
#include "ClientRes.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMenuSinglePlayer::CMenuSinglePlayer()
{
	m_pSaveCtrl=DNULL;
}

CMenuSinglePlayer::~CMenuSinglePlayer()
{

}

// Build the menu
void CMenuSinglePlayer::Build()
{
	// Make sure to call the base class
	CMenuBase::Build();

	CreateTitle("interface\\mainmenus\\singleplayer.pcx", IDS_MENU_TITLE_SINGLEPLAYER, m_pMainMenus->GetTitlePos());		
	SetOptionPos(m_pMainMenus->GetOptionsPos());
	SetItemSpacing(0);

#ifdef _ADDON
	AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_NIGHTMARES, MENU_CMD_START_NIGHTMARES);
#endif

	AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_CALEB, MENU_CMD_START_STORY);
	AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_CHOSEN, MENU_CMD_START_ACTION);

#ifndef _DEMO
	AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_LOADGAME, MENU_CMD_LOAD_GAME_MENU);

	m_pSaveCtrl = AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_SAVEGAME, MENU_CMD_SAVE_GAME_MENU);
	
	AddLargeTextItemOption(IDS_MENU_SINGLEPLAYER_CUSTOMLEVEL, MENU_CMD_CUSTOM_LEVEL);	
#endif

}

// Enable/Disable the save option
void CMenuSinglePlayer::EnableSave(DBOOL bEnable)
{
	if ( m_pSaveCtrl )
	{
		m_pSaveCtrl->Enable(bEnable);
	}
}

DDWORD CMenuSinglePlayer::OnCommand(DDWORD dwCommand, DDWORD dwParam1, DDWORD dwParam2)
{
	switch ( dwCommand )
	{

#ifdef _ADDON
	case MENU_CMD_START_NIGHTMARES:
		{
			// Change the menu
			m_pMainMenus->SetCurrentMenu(MENU_ID_DIFFICULTY);

			// Tell the difficulty menu about the type of game we are starting
			m_pMainMenus->GetDifficultyMenu()->SetNightmaresMode(DTRUE);

			// Set the parent menu		
			m_pMainMenus->GetDifficultyMenu()->SetParentMenu(this);
			break;
		}
#endif

	case MENU_CMD_START_STORY:
		{
			// Change the menu
			m_pMainMenus->SetCurrentMenu(MENU_ID_DIFFICULTY);

			// Tell the difficulty menu about the type of game we are starting
			m_pMainMenus->GetDifficultyMenu()->SetStoryMode(DTRUE);

			// Set the parent menu		
			m_pMainMenus->GetDifficultyMenu()->SetParentMenu(this);
			break;
		}
	case MENU_CMD_START_ACTION:
		{
#ifdef _DEMO
			Splash_SetState(m_pClientDE, "\\screens\\modes.pcx");
#else
			m_pMainMenus->SetCurrentMenu(MENU_ID_CHARACTERSELECT);
#endif
			break;
		}	
	case MENU_CMD_CUSTOM_LEVEL:
		{
			m_pMainMenus->SetCurrentMenu(MENU_ID_CUSTOM_LEVEL);
			break;
		}	
	case MENU_CMD_LOAD_GAME_MENU:
		{
			m_pMainMenus->SetCurrentMenu(MENU_ID_LOAD_GAME);
			break;
		}
	case MENU_CMD_SAVE_GAME_MENU:
		{
			m_pMainMenus->SetCurrentMenu(MENU_ID_SAVE_GAME);
			break;
		}
	}
	return 0;
}

⌨️ 快捷键说明

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