📄 menuloadgame.cpp
字号:
// MenuLoadGame.cpp: implementation of the CMenuLoadGame class.
//
//////////////////////////////////////////////////////////////////////
#include "LTGUIMgr.h"
#include "MenuLoadGame.h"
#include "MenuCommands.h"
#include "BloodClientShell.h"
#include "ClientRes.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMenuLoadGame::CMenuLoadGame()
{
}
CMenuLoadGame::~CMenuLoadGame()
{
}
// Build the menu
void CMenuLoadGame::Build()
{
// Make sure to call the base class
CMenuBase::Build();
CreateTitle("interface\\mainmenus\\loadgame.pcx", IDS_MENU_TITLE_LOADGAME, m_pMainMenus->GetTitlePos());
SetOptionPos(m_pMainMenus->GetOptionsPos());
SetItemSpacing(0);
}
// Add the menu items
void CMenuLoadGame::InitSavedGameSlots()
{
// Remove all of the menu options
RemoveAllOptions();
// Save game info
CSavedGameInfo *pSGInfo = DNULL;
pSGInfo = g_pBloodClientShell->GetSavedGameInfo();
// This is "RESTART: %s" in English
HSTRING hRestartFormat=m_pClientDE->FormatString(IDS_MENU_LOADGAME_RESTART, pSGInfo->gCurrentSaveInfo.szName);
AddTextItemOption(hRestartFormat, MENU_CMD_LOAD_SAVE_GAME, m_pMainMenus->GetSmallFont());
m_pClientDE->FreeString(hRestartFormat);
// This is "QUICKLOAD: %s" in English
HSTRING hQuickLoadFormat=m_pClientDE->FormatString(IDS_MENU_LOADGAME_QUICKLOAD, pSGInfo->gQuickSaveInfo.szName);
AddTextItemOption(hQuickLoadFormat, MENU_CMD_LOAD_SAVE_GAME, m_pMainMenus->GetSmallFont());
m_pClientDE->FreeString(hQuickLoadFormat);
// Add the save game slots
if ( pSGInfo )
{
int i;
for (i=0; i < MAX_SAVESLOTS; i++)
{
HSTRING hString=m_pClientDE->CreateString(pSGInfo->gSaveSlotInfo[i].szName);
AddTextItemOption(hString, MENU_CMD_LOAD_SAVE_GAME, m_pMainMenus->GetSmallFont());
m_pClientDE->FreeString(hString);
}
}
}
DDWORD CMenuLoadGame::OnCommand(DDWORD dwCommand, DDWORD dwParam1, DDWORD dwParam2)
{
switch (dwCommand)
{
case MENU_CMD_LOAD_SAVE_GAME:
{
int nIndex=m_listOption.GetSelectedItem();
// Special case quickload and restart last level
if ( nIndex == 0 )
{
g_pBloodClientShell->MenuLoadGame(SLOT_CURRENT);
}
else if ( nIndex == 1 )
{
g_pBloodClientShell->MenuLoadGame(SLOT_QUICK);
}
else
{
// Load the saved game
g_pBloodClientShell->MenuLoadGame(nIndex-2);
}
break;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -