ResourceCache.pkg 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. $#include "ResourceCache.h"
  2. /// %Resource cache subsystem. Loads resources on demand and stores them for later access.
  3. class ResourceCache
  4. {
  5. public:
  6. /// Release all resources.
  7. void ReleaseAllResources(bool force = false);
  8. /// Reload a resource. Return false and release it if fails.
  9. bool ReloadResource(Resource* resource);
  10. /// Set memory budget for a specific resource type, default 0 is unlimited.
  11. void SetMemoryBudget(ShortStringHash type, unsigned budget);
  12. /// Enable or disable automatic reloading of resources as files are modified.
  13. void SetAutoReloadResources(bool enable);
  14. /// Return whether a file exists by name.
  15. bool Exists(const String& name) const;
  16. /// Return whether a file exists by name hash.
  17. bool Exists(StringHash nameHash) const;
  18. /// Return memory budget for a resource type.
  19. unsigned GetMemoryBudget(ShortStringHash type) const;
  20. /// Return total memory use for a resource type.
  21. unsigned GetMemoryUse(ShortStringHash type) const;
  22. /// Return total memory use for all resources.
  23. unsigned GetTotalMemoryUse() const;
  24. /// Return resource name from hash, or empty if not found.
  25. const String& GetResourceName(StringHash nameHash) const;
  26. /// Return full absolute file name of resource if possible.
  27. String GetResourceFileName(const String& name) const;
  28. /// Return whether automatic resource reloading is enabled.
  29. bool GetAutoReloadResources() const;
  30. tolua_outside Animation* ResourceCacheGetAnimation @ GetAnimation(const char* fileName);
  31. tolua_outside Font* ResourceCacheGetFont@ GetFont (const char* fileName);
  32. tolua_outside Image* ResourceCacheGetImage @ GetImage(const char* fileName);
  33. tolua_outside Material* ResourceCacheGetMaterial@ GetMaterial (const char* fileName);
  34. tolua_outside Model* ResourceCacheGetModel @ GetModel(const char* fileName);
  35. tolua_outside Sound* ResourceCacheGetSound @ GetSound(const char* fileName);
  36. tolua_outside Technique* ResourceCacheGetTechnique @ GetTechnique(const char* fileName);
  37. tolua_outside Texture2D* ResourceCacheGetTexture2D @ GetTexture2D(const char* fileName);
  38. tolua_outside TextureCube* ResourceCacheGetTextureCube @ GetTextureCube(const char* fileName);
  39. tolua_outside XMLFile * ResourceCacheGetXMLFile @ GetXMLFile(const char* fileName);
  40. };
  41. ResourceCache* GetCache();