Added ResourceRef (Automatic resource reference)

Former-commit-id: 97a0b2732f4dc443b8e1676e68b33b1b53ddf4fb
This commit is contained in:
Lynix
2013-03-15 03:09:58 +01:00
parent 4ee6ca05ed
commit 6c2fb1eb89
29 changed files with 344 additions and 299 deletions

View File

@@ -13,7 +13,7 @@
namespace
{
std::unordered_map<nzUInt32, NzShader*> s_shaders;
std::unordered_map<nzUInt32, NzResourceRef<NzShader>> s_shaders;
NzString BuildFragmentShaderSource(nzUInt32 flags)
{
@@ -471,7 +471,6 @@ const NzShader* NzShaderBuilder::Get(nzUInt32 flags)
}
s_shaders[flags] = shader;
shader->AddResourceReference();
return shader;
}
@@ -489,15 +488,11 @@ bool NzShaderBuilder::Initialize()
}
s_shaders[0] = shader;
shader->AddResourceReference();
return true;
}
void NzShaderBuilder::Uninitialize()
{
for (auto it : s_shaders)
it.second->RemoveResourceReference();
s_shaders.clear();
}