📄 cgamestate.cpp
字号:
// Copyright 2002 Kenneth Guy,
//
// CGameState.cpp
/** \file CGameState.cpp
implementation of class CGameState */
#include "CGameState.h"
#include "CHighScores.h"
#include "Game.hrh"
#include <eikappui.h>
#include <eikapp.h>
#include <eikdoc.h>
#include <eikenv.h>
#include <uikon.hrh>
#include <eikmfne.h>
#include <eikdialg.h>
#include <eikon.hrh>
#include <eikbtgpc.h>
/** Leave safe construction
\param aFileName full path and filename of high score file
*/
CGameState* CGameState::NewL(const TDesC& aFileName) {
CGameState* self= new (ELeave) CGameState;
CleanupStack::PushL(self);
self->ConstructL(aFileName);
CleanupStack::Pop(self);
return(self);
}
/** 2nd phase construction
Construct high score table
\param aFileName full path and filename of high score file
*/
void CGameState::ConstructL(const TDesC& aFileName) {
iHighScores=CHighScores::NewL(aFileName);
}
/** constructor */
CGameState::CGameState() : iState(ENoGame) {
}
/** access high score table */
CHighScores& CGameState::HighScores() {
return *iHighScores;
}
/** get game state */
CGameState::TState CGameState::State() {
return iState;
}
/** set game state.
Update the Cba buttons as nessesary */
void CGameState::SetState(CGameState::TState aState) {
iState=aState;
CEikButtonGroupContainer* cba=CEikonEnv::Static()->AppUiFactory()->ToolBar();
switch(iState) {
case ENoGame:
cba->DimCommand(ECmdCancelGame,ETrue);
cba->DimCommand(ECmdContinueGame,ETrue);
cba->DimCommand(ECmdStartGame,EFalse);
break;
case EPaused:
case ENextLevel:
cba->DimCommand(ECmdCancelGame,EFalse);
cba->DimCommand(ECmdContinueGame,EFalse);
cba->DimCommand(ECmdStartGame,ETrue);
break;
}
cba->DrawNow();
}
/** destructor */
CGameState::~CGameState() {
delete iHighScores;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -