mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-06-22 12:47:53 -05:00
Add possibility to include asset lists in project definition
This commit is contained in:
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
class AssetListEntry
|
||||
{
|
||||
@ -10,3 +11,9 @@ public:
|
||||
AssetListEntry();
|
||||
AssetListEntry(std::string type, std::string name);
|
||||
};
|
||||
|
||||
class AssetList
|
||||
{
|
||||
public:
|
||||
std::vector<AssetListEntry> m_entries;
|
||||
};
|
@ -29,7 +29,15 @@ void ZoneDefinition::AddMetaData(std::string key, std::string value)
|
||||
m_metadata_lookup.emplace(std::make_pair(metaDataPtr->m_key, metaDataPtr));
|
||||
}
|
||||
|
||||
void ZoneDefinition::Include(ZoneDefinition& definitionToInclude)
|
||||
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)
|
||||
{
|
||||
for (const auto& metaData : definitionToInclude.m_metadata)
|
||||
{
|
||||
|
@ -5,6 +5,8 @@
|
||||
#include <unordered_map>
|
||||
#include <vector>
|
||||
|
||||
#include "Zone/AssetList/AssetList.h"
|
||||
|
||||
class ZoneDefinitionEntry
|
||||
{
|
||||
public:
|
||||
@ -33,9 +35,11 @@ public:
|
||||
std::vector<std::unique_ptr<ZoneMetaDataEntry>> m_metadata;
|
||||
std::unordered_multimap<std::string, ZoneMetaDataEntry*> m_metadata_lookup;
|
||||
std::vector<std::string> m_includes;
|
||||
std::vector<std::string> m_asset_lists;
|
||||
std::vector<std::string> m_ignores;
|
||||
std::vector<ZoneDefinitionEntry> m_assets;
|
||||
|
||||
void AddMetaData(std::string key, std::string value);
|
||||
void Include(ZoneDefinition& definitionToInclude);
|
||||
void Include(const AssetList& assetListToInclude);
|
||||
void Include(const ZoneDefinition& definitionToInclude);
|
||||
};
|
Reference in New Issue
Block a user