📄 game_resource.cpp
字号:
#include "..\Include\Game_Resource.h"
Game_Resource* Game_Resource::instance;
LPDIRECT3DTEXTURE9 Game_Resource::GetTexture(wstring name){
for (int i=0; i<textures.size(); i++){
if (textures[i].name == name)
return textures[i].tex;
}
LPDIRECT3DTEXTURE9 tex;
D3DXIMAGE_INFO info;
HRESULT result = D3DXCreateTextureFromFileEx(g_sGlobal.g_pDevice,name.c_str(),0,0,0,0,\
D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,&info,0,&tex);
assert(result==S_OK);
TexRes res;
res.name = name;
res.tex = tex;
textures.push_back(res);
return tex;
}
Game_Mesh* Game_Resource::GetMesh( wstring name ){
//for (int i=0; i<meshs.size(); i++){
// if (meshs[i].name == name)
// return meshs[i].mesh;
//}
Game_Mesh* mesh = new Game_Mesh(name);
MeshRes res;
res.name = name;
res.mesh = mesh;
meshs.push_back(res);
return mesh;
}
Game_SkinMesh* Game_Resource::GetSkinMesh(WCHAR* name){
//for (int i=0; i<skinmeshs.size(); i++){
// if (skinmeshs[i].name == name)
// return skinmeshs[i].skinmesh;
//}
Game_SkinMesh* mesh=new Game_SkinMesh();
mesh->LoadFromXFile(name);
SkinMeshRes res;
res.name = name;
res.skinmesh = mesh;
skinmeshs.push_back(res);
return mesh;
}
void Game_Resource::CleanUp(){
for (int i=0; i<textures.size(); i++)
textures[i].tex->Release();
textures.clear();
for (int i=0; i<meshs.size(); i++)
meshs[i].mesh->Destroy();
meshs.clear();
}
Game_Resource::~Game_Resource(){
CleanUp();
}
Game_Resource* Game_Resource::Instance(){
if (!instance) instance = new Game_Resource;
return instance;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -