4 using System.Collections;
5 using System.Collections.Generic;
6 using System.Diagnostics;
8 using SiliconStudio.Core.Serialization;
10 namespace SiliconStudio.Assets.Analysis
25 [DebuggerDisplay(
"In [{Parents.Count}] / Out [{Count}] Miss [{MissingReferenceCount}]")]
30 private List<IContentReference> missingReferences;
35 if (assetItem == null)
throw new ArgumentNullException(
"assetItem");
43 if (set == null)
throw new ArgumentNullException(
"set");
48 foreach (var child
in set)
50 Add(child.Clone(
true));
54 if (set.missingReferences != null)
56 foreach (var missingRef
in set.missingReferences)
58 AddMissingReference(missingRef);
63 foreach (var parent
in set.parents)
65 parents.Add(parent.Clone(
true));
102 missingReferences = null;
115 public bool HasMissingReferences
119 return missingReferences != null && missingReferences.Count > 0;
123 public int MissingReferenceCount
127 return missingReferences != null ? missingReferences.Count : 0;
150 if (contentReference == null)
throw new ArgumentNullException(
"contentReference");
151 if (missingReferences == null)
152 missingReferences =
new List<IContentReference>();
153 missingReferences.Add(contentReference);
162 if (missingReferences == null)
return;
163 for (
int i = missingReferences.Count - 1; i >= 0; i--)
165 if (missingReferences[i].Id == guid)
167 missingReferences.RemoveAt(i);
173 if (missingReferences.Count == 0)
175 missingReferences = null;
void AddMissingReference(IContentReference contentReference)
Adds a missing reference.
void Reset(bool keepParents)
Resets this instance and clear all dependencies (including missing)
AssetDependencySet(AssetItem assetItem)
An asset item part of a Package accessible through SiliconStudio.Assets.Package.Assets.
Describes dependencies (in/out/miss) for a specific asset.
AssetDependencySet(AssetDependencySet set)
void RemoveMissingReference(Guid guid)
Removes a missing reference
An interface that provides a reference to an asset.