ResourceCache.pkg 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. $#include "Animation.h"
  2. $#include "Font.h"
  3. $#include "Image.h"
  4. $#include "Material.h"
  5. $#include "Model.h"
  6. $#include "ResourceCache.h"
  7. $#include "Sound.h"
  8. $#include "Technique.h"
  9. $#include "Texture2D.h"
  10. $#include "TextureCube.h"
  11. $#include "XMLFile.h"
  12. class ResourceCache
  13. {
  14. void ReleaseAllResources(bool force = false);
  15. bool ReloadResource(Resource* resource);
  16. void SetMemoryBudget(ShortStringHash type, unsigned budget);
  17. void SetMemoryBudget(const char* type, unsigned budget);
  18. void SetAutoReloadResources(bool enable);
  19. // template <class T> T* GetResource(const String& name);
  20. Animation* GetResource<Animation> @ GetAnimation(const String& name);
  21. Font* GetResource<Font> @ GetFont(const String& name);
  22. Image* GetResource<Image> @ GetImage(const String& name);
  23. Material* GetResource<Material> @ GetMaterial(const String& name);
  24. Model* GetResource<Model> @ GetModel(const String& name);
  25. Sound* GetResource<Sound> @ GetSound(const String& name);
  26. Technique* GetResource<Technique> @ GetTechnique(const String& name);
  27. Texture2D* GetResource<Texture2D> @ GetTexture2D(const String& name);
  28. TextureCube* GetResource<TextureCube> @ GetTextureCube(const String& name);
  29. XMLFile* GetResource<XMLFile> @ GetXMLFile(const String& name);
  30. // template <class T> T* GetResource(const char* name);
  31. Animation* GetResource<Animation> @ GetAnimation(const char* name);
  32. Font* GetResource<Font> @ GetFont(const char* name);
  33. Image* GetResource<Image> @ GetImage(const char* name);
  34. Material* GetResource<Material> @ GetMaterial(const char* name);
  35. Model* GetResource<Model> @ GetModel(const char* name);
  36. Sound* GetResource<Sound> @ GetSound(const char* name);
  37. Technique* GetResource<Technique> @ GetTechnique(const char* name);
  38. Texture2D* GetResource<Texture2D> @ GetTexture2D(const char* name);
  39. TextureCube* GetResource<TextureCube> @ GetTextureCube(const char* name);
  40. XMLFile* GetResource<XMLFile> @ GetXMLFile(const char* name);
  41. bool Exists(const String& name) const;
  42. bool Exists(StringHash nameHash) const;
  43. unsigned GetMemoryBudget(ShortStringHash type) const;
  44. unsigned GetMemoryUse(ShortStringHash type) const;
  45. unsigned GetTotalMemoryUse() const;
  46. const String& GetResourceName(StringHash nameHash) const;
  47. String GetResourceFileName(const String& name) const;
  48. bool GetAutoReloadResources() const;
  49. tolua_readonly tolua_property__get_set unsigned totalMemoryUse;
  50. tolua_readonly tolua_property__get_set bool autoReloadResources;
  51. };