| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsEditorPrerequisites.h"
- #include "Reflection/BsRTTIType.h"
- #include "Reflection/BsRTTIPlain.h"
- #include "Build/BsBuildManager.h"
- namespace bs
- {
- /** @cond RTTI */
- /** @addtogroup RTTI-Impl-Editor
- * @{
- */
- class BuildDataRTTI : public RTTIType <BuildData, IReflectable, BuildDataRTTI>
- {
- private:
- SPtr<PlatformInfo> getPlatformInfo(BuildData* obj, UINT32 idx) { return obj->platformData[idx]; }
- void setPlatformInfo(BuildData* obj, UINT32 idx, SPtr<PlatformInfo> val) { obj->platformData[idx] = val; }
- UINT32 getPlatformInfoArraySize(BuildData* obj) { return (UINT32)obj->platformData.size(); }
- void setPlatformInfoArraySize(BuildData* obj, UINT32 size) { obj->platformData.resize(size); }
- PlatformType& getActivePlatform(BuildData* obj) { return obj->activePlatform; }
- void setActivePlatform(BuildData* obj, PlatformType& val) { obj->activePlatform = val; }
- public:
- BuildDataRTTI()
- {
- addReflectablePtrArrayField("platformData", 0, &BuildDataRTTI::getPlatformInfo, &BuildDataRTTI::getPlatformInfoArraySize,
- &BuildDataRTTI::setPlatformInfo, &BuildDataRTTI::setPlatformInfoArraySize);
- addPlainField("activePlatform", 1, &BuildDataRTTI::getActivePlatform, &BuildDataRTTI::setActivePlatform);
- }
- const String& getRTTIName() override
- {
- static String name = "BuildData";
- return name;
- }
- UINT32 getRTTIId() override
- {
- return TID_BuildData;
- }
- SPtr<IReflectable> newRTTIObject() override
- {
- return bs_shared_ptr_new<BuildData>();
- }
- };
- /** @} */
- /** @endcond */
- }
|