Resource.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef RESOURCE_RESOURCE_H
  2. #define RESOURCE_RESOURCE_H
  3. #include "anki/resource/ResourceManager.h"
  4. #include "anki/resource/ResourcePointer.h"
  5. #include "anki/util/Singleton.h"
  6. namespace anki {
  7. #define ANKI_RESOURCE_TYPEDEFS(rsrc, name) \
  8. class rsrc; \
  9. typedef TypeResourceManager<rsrc> rsrc ## ResourceManager; \
  10. typedef Singleton<rsrc ## ResourceManager> \
  11. rsrc ## ResourceManagerSingleton; \
  12. typedef ResourcePointer<rsrc, rsrc ## ResourceManagerSingleton> name;
  13. ANKI_RESOURCE_TYPEDEFS(TextureResource, TextureResourcePointer)
  14. ANKI_RESOURCE_TYPEDEFS(ShaderProgramResource, ShaderProgramResourcePointer)
  15. ANKI_RESOURCE_TYPEDEFS(Material, MaterialResourcePointer)
  16. ANKI_RESOURCE_TYPEDEFS(Mesh, MeshResourcePointer)
  17. ANKI_RESOURCE_TYPEDEFS(BucketMesh, BucketMeshResourcePointer)
  18. ANKI_RESOURCE_TYPEDEFS(Skeleton, SkeletonResourcePointer)
  19. ANKI_RESOURCE_TYPEDEFS(SkelAnim, SkelAnimResourcePointer)
  20. ANKI_RESOURCE_TYPEDEFS(Animation, AnimationResourcePointer)
  21. ANKI_RESOURCE_TYPEDEFS(LightRsrc, LightRsrcResourcePointer)
  22. ANKI_RESOURCE_TYPEDEFS(ParticleEmitterResource, ParticleEmitterResourcePointer)
  23. ANKI_RESOURCE_TYPEDEFS(Script, ScriptResourcePointer)
  24. ANKI_RESOURCE_TYPEDEFS(Model, ModelResourcePointer)
  25. ANKI_RESOURCE_TYPEDEFS(Skin, SkinResourcePointer)
  26. ANKI_RESOURCE_TYPEDEFS(DummyRsrc, DummyRsrcResourcePointer)
  27. } // end namespace anki
  28. #endif