| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsCorePrerequisites.h"
- #include "BsRTTIType.h"
- #include "BsSavedResourceData.h"
- namespace BansheeEngine
- {
- /** @cond RTTI */
- /** @addtogroup RTTI-Impl-Core
- * @{
- */
- class BS_CORE_EXPORT SavedResourceDataRTTI : public RTTIType <SavedResourceData, IReflectable, SavedResourceDataRTTI>
- {
- private:
- String& getDependency(SavedResourceData* obj, UINT32 arrayIdx) { return obj->mDependencies[arrayIdx]; }
- void setDependency(SavedResourceData* obj, UINT32 arrayIdx, String& val) { obj->mDependencies[arrayIdx] = val; }
- UINT32 getNumDependencies(SavedResourceData* obj) { return (UINT32)obj->mDependencies.size(); }
- void setNumDependencies(SavedResourceData* obj, UINT32 numEntries) { obj->mDependencies = Vector<String>(numEntries); }
- bool& getAllowAsyncLoading(SavedResourceData* obj) { return obj->mAllowAsync; }
- void setAllowAsyncLoading(SavedResourceData* obj, bool& value) { obj->mAllowAsync = value; }
- public:
- SavedResourceDataRTTI()
- {
- addPlainArrayField("mDependencies", 0, &SavedResourceDataRTTI::getDependency, &SavedResourceDataRTTI::getNumDependencies,
- &SavedResourceDataRTTI::setDependency, &SavedResourceDataRTTI::setNumDependencies);
- addPlainField("mAllowAsync", 1, &SavedResourceDataRTTI::getAllowAsyncLoading, &SavedResourceDataRTTI::setAllowAsyncLoading);
- }
- const String& getRTTIName() override
- {
- static String name = "ResourceDependencies";
- return name;
- }
- UINT32 getRTTIId() override
- {
- return TID_ResourceDependencies;
- }
- std::shared_ptr<IReflectable> newRTTIObject() override
- {
- return bs_shared_ptr_new<SavedResourceData>();
- }
- };
- /** @} */
- /** @endcond */
- }
|