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

📄 controller.h

📁 也是一个基于S60的源代码
💻 H
字号:
// controller.h
//
// Copyright (c) 2000 Symbian Ltd.  All rights reserved.
//

#ifndef __CONTROLLER_H
#define __CONTROLLER_H

#include <coecntrl.h>
#include <coemain.h>

#include <eikappui.h>
#include <eikapp.h>
#include <eikdoc.h>
#include <eikon.hrh>

#include <soloships.rsg>
#include "soloships.hrh"

#include "engine.h"

class CFleetView;

// app UID

const TUid KUidExample = { 0x10005cee };

// command handler
class MGameViewCmdHandler
	{
public:
	virtual void ViewCmdHitFleet(TInt aX, TInt aY)=0;
	};

// controller
class CGameController : public CBase, public MGameViewCmdHandler
	{
public:
	// construct/destruct
	static CGameController* NewL();
	static CGameController* NewL(const CStreamStore& aStore, TStreamId aStreamId);
	void SetAppView(CFleetView* aAppView);
	~CGameController();
	// persistence
	TStreamId StoreL(CStreamStore& aStore) const;
	// state
	inline TBool IsMyTurn() const;
	inline TBool IsFinished() const;
	// game control
	void Reset();
	// zooming
	void ZoomInL();
	void ZoomOutL();

private:
	enum TState {
		EMyTurn, EFinished
		};
private:
	// construct/restore
	void ConstructL();
	void RestoreL(const CStreamStore& aStore, TStreamId aStreamId);
	// stream persistence
	void ExternalizeL(RWriteStream& aStream) const;
	void InternalizeL(RReadStream& aStream);
	// from MGameViewCmdHandler
	void ViewCmdHitFleet(TInt aX, TInt aY);

private:
	CFleetView* iAppView;
	CGameEngine* iEngine;

private:
	// cached pointers and values
	CEikonEnv* iEnv;
	// private persistent state
	TState iState;
	// zoom for internalizing
	TInt iZoomFactor;
	};

// state inlines
inline TBool CGameController::IsMyTurn() const { return  iState==EMyTurn; }
inline TBool CGameController::IsFinished() const { return  iState==EFinished; }

#endif

⌨️ 快捷键说明

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