scenemanager.h

来自「3D赛车游戏源代码-用Visual Studio 2005」· C头文件 代码 · 共 56 行

H
56
字号
//////////////////////////////////////////////////////////////////////////
//  CSceneManager类,场景管理类,负责整个场景的渲染和管理。
//
//  SceneManager.h: CSceneManager类的声明
//
//  Copy Rights Wonderful 2006
//////////////////////////////////////////////////////////////////////////

#ifndef __SCENEMANAGER_H_INCLUDED__
#define __SCENEMANAGER_H_INCLUDED__

#include "QuadTree.h"

//-------------------------------------------------------------------------------
// 前向声明
//-------------------------------------------------------------------------------
class CSceneObject;

//-------------------------------------------------------------------------------
// 场景管理器
//-------------------------------------------------------------------------------
class CSceneManager
{
public:
	// 构造析构函数
	CSceneManager();
	~CSceneManager();

	// 添加物体到场景中
	bool AddObjectToScene(CSceneObject *obj);
	// 添加物体到四叉树
	bool AddObjectToQuadTree(CSceneObject *obj, float fWidth, float fHeight);

	// 从场景中移除物体
	void RemoveObjectFromScene(CSceneObject *obj);

	// 渲染场景
	void RenderScene();

	// 获取四叉树
	CQuadTree *GetQuadTree() { return &m_oQuadTree; }

protected:
	typedef vector<CSceneObject *> ObjectList;		// 场景物体列表类型
	ObjectList m_ObjList;							// 场景物体列表
	CQuadTree					m_oQuadTree;		// 四叉树存储赛道
};

//-------------------------------------------------------------------------------
// 场景管理器全局对象
//-------------------------------------------------------------------------------
extern CSceneManager g_SceneManager;

#endif

⌨️ 快捷键说明

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