mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-10 14:58:10 -05:00
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
#include "ZoneDefinition.h"
|
|
|
|
ZoneDefinitionAsset::ZoneDefinitionAsset(const asset_type_t type, std::string name, const bool isReference)
|
|
: m_asset_type(type),
|
|
m_asset_name(std::move(name)),
|
|
m_is_reference(isReference)
|
|
{
|
|
}
|
|
|
|
ZoneDefinitionProperties::ZoneDefinitionProperties() = default;
|
|
|
|
void ZoneDefinitionProperties::AddProperty(std::string key, std::string value)
|
|
{
|
|
m_properties.emplace(std::move(key), std::move(value));
|
|
}
|
|
|
|
void ZoneDefinitionProperties::Include(const ZoneDefinitionProperties& otherProperties)
|
|
{
|
|
for (const auto& property : otherProperties.m_properties)
|
|
AddProperty(property.first, property.second);
|
|
}
|
|
|
|
ZoneDefinition::ZoneDefinition()
|
|
: m_type(ProjectType::NONE),
|
|
m_game(GameId::COUNT)
|
|
{
|
|
}
|
|
|
|
void ZoneDefinition::Include(const AssetList& assetListToInclude)
|
|
{
|
|
for (const auto& entry : assetListToInclude.m_entries)
|
|
m_assets.emplace_back(entry.m_type, entry.m_name, false);
|
|
}
|
|
|
|
void ZoneDefinition::Include(const ZoneDefinition& definitionToInclude)
|
|
{
|
|
m_properties.Include(definitionToInclude.m_properties);
|
|
|
|
for (const auto& ignore : definitionToInclude.m_ignores)
|
|
m_ignores.emplace_back(ignore);
|
|
|
|
for (const auto& asset : definitionToInclude.m_assets)
|
|
m_assets.emplace_back(asset);
|
|
}
|