//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "Resources/BsResource.h" #include "RTTI/BsResourceRTTI.h" #include "Resources/BsResourceMetaData.h" namespace bs { Resource::Resource(bool initializeOnRenderThread) :CoreObject(initializeOnRenderThread), mSize(0), mKeepSourceData(true) { mMetaData = bs_shared_ptr_new(); } const WString& Resource::getName() const { return mMetaData->displayName; } void Resource::setName(const WString& name) { mMetaData->displayName = name; } bool Resource::areDependenciesLoaded() const { bs_frame_mark(); bool areLoaded = true; { FrameVector dependencies; getResourceDependencies(dependencies); for (auto& dependency : dependencies) { if (dependency != nullptr && !dependency.isLoaded()) { areLoaded = false; break; } } } bs_frame_clear(); return areLoaded; } RTTITypeBase* Resource::getRTTIStatic() { return ResourceRTTI::instance(); } RTTITypeBase* Resource::getRTTI() const { return Resource::getRTTIStatic(); } }