[Fix] ResourceManager stuff.
This commit is contained in:
parent
0cad1e8128
commit
c32aeda9ee
@ -90,7 +90,9 @@
|
|||||||
<ClInclude Include="..\..\src\glx\glext.h" />
|
<ClInclude Include="..\..\src\glx\glext.h" />
|
||||||
<ClInclude Include="..\..\src\glx\wglext.h" />
|
<ClInclude Include="..\..\src\glx\wglext.h" />
|
||||||
<ClInclude Include="..\..\src\IO\Input.h" />
|
<ClInclude Include="..\..\src\IO\Input.h" />
|
||||||
|
<ClInclude Include="..\..\src\Level\Layer.h" />
|
||||||
<ClInclude Include="..\..\src\Level\Level.h" />
|
<ClInclude Include="..\..\src\Level\Level.h" />
|
||||||
|
<ClInclude Include="..\..\src\Level\MapTile.h" />
|
||||||
<ClInclude Include="..\..\src\Main\Game.h" />
|
<ClInclude Include="..\..\src\Main\Game.h" />
|
||||||
<ClInclude Include="..\..\src\Main\GLWindow.h" />
|
<ClInclude Include="..\..\src\Main\GLWindow.h" />
|
||||||
<ClInclude Include="..\..\src\Math\FPS.h" />
|
<ClInclude Include="..\..\src\Math\FPS.h" />
|
||||||
@ -123,6 +125,7 @@
|
|||||||
<ClCompile Include="..\..\src\Collision\AABB.cpp" />
|
<ClCompile Include="..\..\src\Collision\AABB.cpp" />
|
||||||
<ClCompile Include="..\..\src\Global\Globals.cpp" />
|
<ClCompile Include="..\..\src\Global\Globals.cpp" />
|
||||||
<ClCompile Include="..\..\src\IO\Input.cpp" />
|
<ClCompile Include="..\..\src\IO\Input.cpp" />
|
||||||
|
<ClCompile Include="..\..\src\Level\Layer.cpp" />
|
||||||
<ClCompile Include="..\..\src\Level\Level.cpp" />
|
<ClCompile Include="..\..\src\Level\Level.cpp" />
|
||||||
<ClCompile Include="..\..\src\Main\Game.cpp" />
|
<ClCompile Include="..\..\src\Main\Game.cpp" />
|
||||||
<ClCompile Include="..\..\src\Main\GLWindow.cpp" />
|
<ClCompile Include="..\..\src\Main\GLWindow.cpp" />
|
||||||
|
@ -132,15 +132,21 @@
|
|||||||
<ClInclude Include="..\..\src\TMXParser\TmxObject.h">
|
<ClInclude Include="..\..\src\TMXParser\TmxObject.h">
|
||||||
<Filter>TMXParser</Filter>
|
<Filter>TMXParser</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\System\ResourceManager.h">
|
|
||||||
<Filter>System</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\src\Level\Level.h">
|
<ClInclude Include="..\..\src\Level\Level.h">
|
||||||
<Filter>Level</Filter>
|
<Filter>Level</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\src\Collision\AABB.h">
|
<ClInclude Include="..\..\src\Collision\AABB.h">
|
||||||
<Filter>Collision</Filter>
|
<Filter>Collision</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\Level\Layer.h">
|
||||||
|
<Filter>Level</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\Level\MapTile.h">
|
||||||
|
<Filter>Level</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\System\ResourceManager.h">
|
||||||
|
<Filter>System</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\src\Main\main.cpp">
|
<ClCompile Include="..\..\src\Main\main.cpp">
|
||||||
@ -221,5 +227,8 @@
|
|||||||
<ClCompile Include="..\..\src\Collision\AABB.cpp">
|
<ClCompile Include="..\..\src\Collision\AABB.cpp">
|
||||||
<Filter>Collision</Filter>
|
<Filter>Collision</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\Level\Layer.cpp">
|
||||||
|
<Filter>Level</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
@ -18,10 +18,10 @@ class ResourceManager
|
|||||||
public:
|
public:
|
||||||
ResourceManager() { }
|
ResourceManager() { }
|
||||||
|
|
||||||
typedef std::map<std::string, T*> ResourceMap;
|
typedef std::map<std::string, typename T*> ResourceMap;
|
||||||
|
|
||||||
T* Load(const std::string& name) {
|
T* Load(const std::string& name) {
|
||||||
ResourceMap::iterator i = m_resources.find(name);
|
ResourceManager<T>::ResourceMap::iterator i = m_resources.find(name);
|
||||||
if(i == m_resources.end()) {
|
if(i == m_resources.end()) {
|
||||||
T* resource = new T();
|
T* resource = new T();
|
||||||
|
|
||||||
@ -43,7 +43,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
T* Find(const std::string& name) {
|
T* Find(const std::string& name) {
|
||||||
ResourceMap::iterator i = m_resources.find(name);
|
ResourceManager<T>::ResourceMap::iterator i = m_resources.find(name);
|
||||||
if(i != m_resources.end()) {
|
if(i != m_resources.end()) {
|
||||||
return i->second;
|
return i->second;
|
||||||
}
|
}
|
||||||
@ -51,7 +51,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Add(const std::string& name, T* resource) {
|
void Add(const std::string& name, T* resource) {
|
||||||
ResourceMap::iterator i = m_resources.find(name);
|
ResourceManager<T>::ResourceMap::iterator i = m_resources.find(name);
|
||||||
if(i == m_resources.end()) {
|
if(i == m_resources.end()) {
|
||||||
resource->refs++;
|
resource->refs++;
|
||||||
m_resources.insert(std::pair<std::string, T*>(name, resource));
|
m_resources.insert(std::pair<std::string, T*>(name, resource));
|
||||||
@ -64,7 +64,7 @@ public:
|
|||||||
if(name.empty())
|
if(name.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ResourceMap::iterator i = m_resources.find(name);
|
ResourceManager<T>::ResourceMap::iterator i = m_resources.find(name);
|
||||||
if(i != m_resources.end()) {
|
if(i != m_resources.end()) {
|
||||||
T* resource = i->second;
|
T* resource = i->second;
|
||||||
|
|
||||||
@ -78,7 +78,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Destroy(T* resource) {
|
void Destroy(T* resource) {
|
||||||
ResourceMap::iterator i;
|
ResourceManager<T>::ResourceMap::iterator i;
|
||||||
for(i = m_resources.begin(); i != m_resources.end(); ++i) {
|
for(i = m_resources.begin(); i != m_resources.end(); ++i) {
|
||||||
if(i->second == resource){
|
if(i->second == resource){
|
||||||
resource->refs--;
|
resource->refs--;
|
||||||
|
Loading…
Reference in New Issue
Block a user