BsProjectResourceMetaRTTI.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsPrerequisites.h"
  5. #include "BsRTTIType.h"
  6. #include "BsProjectResourceMeta.h"
  7. #include "BsResourceMetaData.h"
  8. #include "BsImportOptions.h"
  9. namespace BansheeEngine
  10. {
  11. /** @cond INTERNAL */
  12. /** @addtogroup RTTI-Impl-Editor
  13. * @{
  14. */
  15. class ProjectResourceMetaRTTI : public RTTIType<ProjectResourceMeta, IReflectable, ProjectResourceMetaRTTI>
  16. {
  17. private:
  18. BS_PLAIN_MEMBER(mName)
  19. BS_PLAIN_MEMBER(mUUID)
  20. BS_PLAIN_MEMBER(mTypeId)
  21. BS_REFLPTR_MEMBER(mResourceMeta)
  22. public:
  23. ProjectResourceMetaRTTI()
  24. {
  25. BS_ADD_PLAIN_FIELD(mName, 0);
  26. BS_ADD_PLAIN_FIELD(mUUID, 1);
  27. BS_ADD_PLAIN_FIELD(mTypeId, 2);
  28. BS_ADD_REFLPTR_FIELD(mResourceMeta, 3);
  29. }
  30. const String& getRTTIName() override
  31. {
  32. static String name = "ProjectResourceMeta";
  33. return name;
  34. }
  35. UINT32 getRTTIId() override
  36. {
  37. return TID_ProjectResourceMeta;
  38. }
  39. SPtr<IReflectable> newRTTIObject() override
  40. {
  41. return ProjectResourceMeta::createEmpty();
  42. }
  43. };
  44. class ProjectFileMetaRTTI : public RTTIType<ProjectFileMeta, IReflectable, ProjectFileMetaRTTI>
  45. {
  46. private:
  47. BS_REFLPTR_MEMBER(mImportOptions)
  48. BS_PLAIN_MEMBER(mIncludeInBuild)
  49. BS_REFLPTR_MEMBER_VEC(mResourceMetaData)
  50. public:
  51. ProjectFileMetaRTTI()
  52. {
  53. BS_ADD_REFLPTR_FIELD(mImportOptions, 1);
  54. BS_ADD_PLAIN_FIELD(mIncludeInBuild, 4);
  55. BS_ADD_REFLPTR_FIELD_ARR(mResourceMetaData, 5);
  56. }
  57. const String& getRTTIName() override
  58. {
  59. static String name = "ProjectFileMeta";
  60. return name;
  61. }
  62. UINT32 getRTTIId() override
  63. {
  64. return TID_ProjectFileMeta;
  65. }
  66. SPtr<IReflectable> newRTTIObject() override
  67. {
  68. return ProjectFileMeta::createEmpty();
  69. }
  70. };
  71. /** @} */
  72. /** @endcond */
  73. }