BsTextureImportOptionsRTTI.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. #include "BsRTTIType.h"
  4. #include "BsTextureImportOptions.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_CORE_EXPORT TextureImportOptionsRTTI : public RTTIType<TextureImportOptions, ImportOptions, TextureImportOptionsRTTI>
  8. {
  9. private:
  10. PixelFormat& getPixelFormat(TextureImportOptions* obj) { return obj->mFormat; }
  11. void setPixelFormat(TextureImportOptions* obj, PixelFormat& value) { obj->mFormat = value; }
  12. bool& getGenerateMips(TextureImportOptions* obj) { return obj->mGenerateMips; }
  13. void setGenerateMips(TextureImportOptions* obj, bool& value) { obj->mGenerateMips = value; }
  14. UINT32& getMaxMip(TextureImportOptions* obj) { return obj->mMaxMip; }
  15. void setMaxMip(TextureImportOptions* obj, UINT32& value) { obj->mMaxMip = value; }
  16. public:
  17. TextureImportOptionsRTTI()
  18. {
  19. addPlainField("mPixelFormat", 0, &TextureImportOptionsRTTI::getPixelFormat, &TextureImportOptionsRTTI::setPixelFormat);
  20. addPlainField("mGenerateMips", 1, &TextureImportOptionsRTTI::getGenerateMips, &TextureImportOptionsRTTI::setGenerateMips);
  21. addPlainField("mMaxMip", 2, &TextureImportOptionsRTTI::getMaxMip, &TextureImportOptionsRTTI::setMaxMip);
  22. }
  23. virtual const String& getRTTIName()
  24. {
  25. static String name = "TextureImportOptions";
  26. return name;
  27. }
  28. virtual UINT32 getRTTIId()
  29. {
  30. return TID_TextureImportOptions;
  31. }
  32. virtual std::shared_ptr<IReflectable> newRTTIObject()
  33. {
  34. return bs_shared_ptr<TextureImportOptions, PoolAlloc>();
  35. }
  36. };
  37. }