Added ability to display referencers/dependencies of assets

This commit is contained in:
Aruki
2017-07-20 20:56:29 -06:00
parent 905173a0a0
commit 89d668a810
14 changed files with 363 additions and 79 deletions

View File

@@ -25,6 +25,12 @@ bool IDependencyNode::HasDependency(const CAssetID& rkID) const
return false;
}
void IDependencyNode::GetAllResourceReferences(std::set<CAssetID>& rOutSet) const
{
for (u32 iChild = 0; iChild < mChildren.size(); iChild++)
mChildren[iChild]->GetAllResourceReferences(rOutSet);
}
// ************ CDependencyTree ************
EDependencyNodeType CDependencyTree::Type() const
{
@@ -75,6 +81,11 @@ void CResourceDependency::Serialize(IArchive& rArc)
rArc << SERIAL("ID", mID);
}
void CResourceDependency::GetAllResourceReferences(std::set<CAssetID>& rOutSet) const
{
rOutSet.insert(mID);
}
bool CResourceDependency::HasDependency(const CAssetID& rkID) const
{
return (mID == rkID);

View File

@@ -37,6 +37,7 @@ public:
virtual ~IDependencyNode();
virtual EDependencyNodeType Type() const = 0;
virtual void Serialize(IArchive& rArc) = 0;
virtual void GetAllResourceReferences(std::set<CAssetID>& rOutSet) const;
virtual bool HasDependency(const CAssetID& rkID) const;
// Accessors
@@ -71,6 +72,7 @@ public:
virtual EDependencyNodeType Type() const;
virtual void Serialize(IArchive& rArc);
virtual void GetAllResourceReferences(std::set<CAssetID>& rOutSet) const;
virtual bool HasDependency(const CAssetID& rkID) const;
// Accessors