From c32aeda9ee076fa14c27918d7f11502e12ad4385 Mon Sep 17 00:00:00 2001 From: Tamir Atias <engine.games@gmail.com> Date: Thu, 12 Apr 2012 02:04:56 +0300 Subject: [PATCH] [Fix] ResourceManager stuff. --- Bin/VC10/VC10.vcxproj | 3 +++ Bin/VC10/VC10.vcxproj.filters | 15 ++++++++++++--- src/System/ResourceManager.h | 12 ++++++------ 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Bin/VC10/VC10.vcxproj b/Bin/VC10/VC10.vcxproj index ce2ca4d..4046f56 100644 --- a/Bin/VC10/VC10.vcxproj +++ b/Bin/VC10/VC10.vcxproj @@ -90,7 +90,9 @@ <ClInclude Include="..\..\src\glx\glext.h" /> <ClInclude Include="..\..\src\glx\wglext.h" /> <ClInclude Include="..\..\src\IO\Input.h" /> + <ClInclude Include="..\..\src\Level\Layer.h" /> <ClInclude Include="..\..\src\Level\Level.h" /> + <ClInclude Include="..\..\src\Level\MapTile.h" /> <ClInclude Include="..\..\src\Main\Game.h" /> <ClInclude Include="..\..\src\Main\GLWindow.h" /> <ClInclude Include="..\..\src\Math\FPS.h" /> @@ -123,6 +125,7 @@ <ClCompile Include="..\..\src\Collision\AABB.cpp" /> <ClCompile Include="..\..\src\Global\Globals.cpp" /> <ClCompile Include="..\..\src\IO\Input.cpp" /> + <ClCompile Include="..\..\src\Level\Layer.cpp" /> <ClCompile Include="..\..\src\Level\Level.cpp" /> <ClCompile Include="..\..\src\Main\Game.cpp" /> <ClCompile Include="..\..\src\Main\GLWindow.cpp" /> diff --git a/Bin/VC10/VC10.vcxproj.filters b/Bin/VC10/VC10.vcxproj.filters index 4d2a69f..39acd67 100644 --- a/Bin/VC10/VC10.vcxproj.filters +++ b/Bin/VC10/VC10.vcxproj.filters @@ -132,15 +132,21 @@ <ClInclude Include="..\..\src\TMXParser\TmxObject.h"> <Filter>TMXParser</Filter> </ClInclude> - <ClInclude Include="..\..\src\System\ResourceManager.h"> - <Filter>System</Filter> - </ClInclude> <ClInclude Include="..\..\src\Level\Level.h"> <Filter>Level</Filter> </ClInclude> <ClInclude Include="..\..\src\Collision\AABB.h"> <Filter>Collision</Filter> </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> <ClCompile Include="..\..\src\Main\main.cpp"> @@ -221,5 +227,8 @@ <ClCompile Include="..\..\src\Collision\AABB.cpp"> <Filter>Collision</Filter> </ClCompile> + <ClCompile Include="..\..\src\Level\Layer.cpp"> + <Filter>Level</Filter> + </ClCompile> </ItemGroup> </Project> \ No newline at end of file diff --git a/src/System/ResourceManager.h b/src/System/ResourceManager.h index decf664..8d0593e 100644 --- a/src/System/ResourceManager.h +++ b/src/System/ResourceManager.h @@ -18,10 +18,10 @@ class ResourceManager public: ResourceManager() { } - typedef std::map<std::string, T*> ResourceMap; + typedef std::map<std::string, typename T*> ResourceMap; 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()) { T* resource = new T(); @@ -43,7 +43,7 @@ public: } 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()) { return i->second; } @@ -51,7 +51,7 @@ public: } 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()) { resource->refs++; m_resources.insert(std::pair<std::string, T*>(name, resource)); @@ -64,7 +64,7 @@ public: if(name.empty()) return; - ResourceMap::iterator i = m_resources.find(name); + ResourceManager<T>::ResourceMap::iterator i = m_resources.find(name); if(i != m_resources.end()) { T* resource = i->second; @@ -78,7 +78,7 @@ public: } void Destroy(T* resource) { - ResourceMap::iterator i; + ResourceManager<T>::ResourceMap::iterator i; for(i = m_resources.begin(); i != m_resources.end(); ++i) { if(i->second == resource){ resource->refs--;