cgamedocument.cpp

来自「symbian 的一个 二维飞行游戏 源码 及相关技术文章」· C++ 代码 · 共 68 行

CPP
68
字号
// Copyright 2002 Kenneth Guy,
// 
// CGameDocument.cpp

/** \file CGameDocument.cpp

    implementation of class CGameDocument */
//

#include "CGameAppUi.h"
#include "CGameAppView.h"
#include "CGameApplication.h"
#include "CGameDocument.h"
#include "CGameState.h"
#include "CScoreDialog.h"
#include "CHighScores.h"

/** construtor */

CGameDocument::CGameDocument(CEikApplication& aApp)
		: CEikDocument(aApp) {
	
}

/** Leave safe construction */
CGameDocument* CGameDocument::NewL(CEikApplication& aApp) {	
  CGameDocument* self=new (ELeave) CGameDocument(aApp);
  CleanupStack::PushL(self);
  self->ConstructL();
  CleanupStack::Pop();
  return self;
}

/** 2nd phase construction.

    Work out where we have been loaded from, and use that
    as location for high score table file */

void CGameDocument::ConstructL() {	
  TParse parse;
  parse.Set(Application()->DllName(),NULL,NULL);
  _LIT(KScores,"scores");
  HBufC* filename=HBufC::NewLC(parse.DriveAndPath().Length()+
                               KScores().Length());
  filename->Des().Append(parse.DriveAndPath());
  filename->Des().Append(KScores);
  iGameState = CGameState::NewL(*filename);
  CleanupStack::PopAndDestroy(filename);
}

/** destructor */

CGameDocument::~CGameDocument() {	
  delete iGameState;
}


/** construct an app ui */

CEikAppUi* CGameDocument::CreateAppUiL() {	
  return new(ELeave) CGameAppUi();
}

/** return game state */
CGameState* CGameDocument::GameState() {
  return iGameState;
}

⌨️ 快捷键说明

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