| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "Library/BsProjectResourceMeta.h"
- #include "RTTI/BsProjectResourceMetaRTTI.h"
- #include "String/BsUnicode.h"
- namespace bs
- {
- ProjectResourceMeta::ProjectResourceMeta(const ConstructPrivately& dummy)
- :mTypeId(0)
- {
- }
- String ProjectResourceMeta::getUniqueName() const
- {
- return UTF8::fromWide(mName);
- }
- SPtr<ProjectResourceMeta> ProjectResourceMeta::create(const String& name, const UUID& uuid, UINT32 typeId,
- const SPtr<ResourceMetaData>& resourceMetaData)
- {
- SPtr<ProjectResourceMeta> meta = bs_shared_ptr_new<ProjectResourceMeta>(ConstructPrivately());
- meta->mName = UTF8::toWide(name); // Using wide string internally to keep compatibility with older versions
- meta->mUUID = uuid;
- meta->mTypeId = typeId;
- meta->mResourceMeta = resourceMetaData;
- return meta;
- }
- SPtr<ProjectResourceMeta> ProjectResourceMeta::createEmpty()
- {
- return bs_shared_ptr_new<ProjectResourceMeta>(ConstructPrivately());
- }
- /************************************************************************/
- /* RTTI */
- /************************************************************************/
- RTTITypeBase* ProjectResourceMeta::getRTTIStatic()
- {
- return ProjectResourceMetaRTTI::instance();
- }
- RTTITypeBase* ProjectResourceMeta::getRTTI() const
- {
- return ProjectResourceMeta::getRTTIStatic();
- }
- ProjectFileMeta::ProjectFileMeta(const ConstructPrivately& dummy)
- :mIncludeInBuild(false)
- {
- }
- SPtr<ProjectFileMeta> ProjectFileMeta::create(const SPtr<ImportOptions>& importOptions)
- {
- SPtr<ProjectFileMeta> meta = bs_shared_ptr_new<ProjectFileMeta>(ConstructPrivately());
- meta->mImportOptions = importOptions;
- meta->mIncludeInBuild = false;
- return meta;
- }
- void ProjectFileMeta::add(const SPtr<ProjectResourceMeta>& resourceMeta)
- {
- mResourceMetaData.push_back(resourceMeta);
- }
- void ProjectFileMeta::addInactive(const SPtr<ProjectResourceMeta>& resourceMeta)
- {
- mInactiveResourceMetaData.push_back(resourceMeta);
- }
- Vector<SPtr<ProjectResourceMeta>> ProjectFileMeta::getAllResourceMetaData() const
- {
- Vector<SPtr<ProjectResourceMeta>> output(mResourceMetaData);
- for (auto& entry : mInactiveResourceMetaData)
- output.push_back(entry);
- return output;
- }
- bool ProjectFileMeta::hasTypeId(UINT32 typeId) const
- {
- for(auto& entry : mResourceMetaData)
- {
- if (entry->getTypeID() == typeId)
- return true;
- }
- return false;
- }
- bool ProjectFileMeta::hasUUID(const UUID& uuid) const
- {
- for (auto& entry : mResourceMetaData)
- {
- if (entry->getUUID() == uuid)
- return true;
- }
- return false;
- }
- SPtr<ProjectFileMeta> ProjectFileMeta::createEmpty()
- {
- return bs_shared_ptr_new<ProjectFileMeta>(ConstructPrivately());
- }
- /************************************************************************/
- /* RTTI */
- /************************************************************************/
- RTTITypeBase* ProjectFileMeta::getRTTIStatic()
- {
- return ProjectFileMetaRTTI::instance();
- }
- RTTITypeBase* ProjectFileMeta::getRTTI() const
- {
- return ProjectFileMeta::getRTTIStatic();
- }
- }
|