//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #pragma once #include "BsCorePrerequisites.h" #include "BsIReflectable.h" namespace BansheeEngine { /** @addtogroup Resources-Internal * @{ */ /** * Contains information about a resource saved to the disk. * * @note Purpose of this class is primarily to be a wrapper around a list of objects to make serialization easier. */ class BS_CORE_EXPORT SavedResourceData : public IReflectable { public: SavedResourceData(); SavedResourceData(const Vector& dependencies, bool allowAsync); /** Returns a list of all resource dependencies. */ const Vector& getDependencies() const { return mDependencies; } /** Returns true if this resource is allow to be asynchronously loaded. */ bool allowAsyncLoading() const { return mAllowAsync; } private: Vector mDependencies; bool mAllowAsync; /************************************************************************/ /* SERIALIZATION */ /************************************************************************/ public: friend class SavedResourceDataRTTI; static RTTITypeBase* getRTTIStatic(); virtual RTTITypeBase* getRTTI() const override; }; /** @} */ }