6 #include "IInteriorsTextureResourceService.h"
29 virtual void AddWeakTextureReference(
const std::string& textureName,
bool cube,
bool local);
30 virtual void Destroy(
const std::string& textureName);
31 virtual void RemoveTextureReferencesForInterior(
const std::string& interiorIdentifier);
32 virtual bool Contains(
const std::string& textureName)
const;
34 const std::string& textureName,
39 bool ContainsWeakTextureReference(
const std::string& textureName)
const;
40 bool ContainsStrongTextureReference(
const std::string& textureName)
const;
41 void CreateInstanceOfWeakTexture(
const std::string& textureName);
46 typedef std::pair<int, IInteriorsTextureResource*> TRefCountedTextureResource;
47 typedef std::map<std::string, TRefCountedTextureResource> TNameToRefCountedTextureResource;
49 TNameToRefCountedTextureResource m_nameToRefCountedTextureResource;
51 struct WeakTextureInfo
56 WeakTextureInfo(
bool isCube,
bool isLocal):IsCube(isCube),IsLocal(isLocal) { }
59 typedef std::map<std::string, WeakTextureInfo> TWeakTexturesByName;
60 TWeakTexturesByName m_weakTexturesByName;
62 typedef std::set<std::string> TInteriorsReferencingTexture;
63 typedef std::map<std::string, TInteriorsReferencingTexture> TTexturesReferencedByInterior;
64 TTexturesReferencedByInterior m_textureToReferencingInteriors;