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

📄 modelloadmanager.cpp

📁 3D赛车游戏源代码-用Visual Studio 2005
💻 CPP
字号:
#include "StdAfx.h"
#include "../model/Model.h"
#include "ModelLoadManager.h"

//-------------------------------------------------------------------------------
// 模型载入管理器全局对象
//-------------------------------------------------------------------------------
CModelLoadManager g_ModelLoadManager;

//-------------------------------------------------------------------------------
// 构造函数
//-------------------------------------------------------------------------------
CModelLoadManager::CModelLoadManager()
{
}

//-------------------------------------------------------------------------------
// 析构函数
//-------------------------------------------------------------------------------
CModelLoadManager::~CModelLoadManager()
{
	CleanUp();
}

//-------------------------------------------------------------------------------
// 载入模型
//-------------------------------------------------------------------------------
Model *CModelLoadManager::LoadModel(const char *szFilename)
{
	char buf[64];
	strcpy(buf, szFilename);
	strlwr(buf);

	Model *pModel = FindIsLoad(buf);

	if (pModel == NULL)
	{
		pModel = new Model;
		pModel->Import3DS(szFilename);
	}
		
	return pModel;
}

//-------------------------------------------------------------------------------
// 查找是否载入过
//-------------------------------------------------------------------------------
Model *CModelLoadManager::FindIsLoad(const char *szFilename)
{
	FileMap::iterator itr = m_modelFileMap.find(szFilename);

	if (itr != m_modelFileMap.end())
	{
		return itr->second;
	}
	else
	{
		return NULL;
	}
}

//-------------------------------------------------------------------------------
// 清空所有模型资源
//-------------------------------------------------------------------------------
void CModelLoadManager::CleanUp()
{
	FileMap::iterator itr = m_modelFileMap.begin();

	for (; itr != m_modelFileMap.end(); ++itr)
	{
		Model *pModel = itr->second;
		delete pModel;
	}

	m_modelFileMap.clear();
}



⌨️ 快捷键说明

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