public AssetPropertyGraph(AssetPropertyGraphContainer container, AssetItem assetItem, ILogger logger) { if (container == null) { throw new ArgumentNullException(nameof(container)); } if (assetItem == null) { throw new ArgumentNullException(nameof(assetItem)); } Container = container; AssetCollectionItemIdHelper.GenerateMissingItemIds(assetItem.Asset); CollectionItemIdsAnalysis.FixupItemIds(assetItem, logger); Asset = assetItem.Asset; RootNode = (AssetObjectNode)Container.NodeContainer.GetOrCreateNode(assetItem.Asset); ApplyOverrides(RootNode, assetItem.Overrides); nodeListener = new GraphNodeChangeListener(RootNode, ShouldListenToTargetNode); nodeListener.Changing += AssetContentChanging; nodeListener.Changed += AssetContentChanged; baseLinker = new AssetToBaseNodeLinker(this) { LinkAction = LinkBaseNode }; }
public AssetPropertyGraph(AssetPropertyGraphContainer container, AssetItem assetItem, ILogger logger) { if (container == null) throw new ArgumentNullException(nameof(container)); if (assetItem == null) throw new ArgumentNullException(nameof(assetItem)); Container = container; AssetCollectionItemIdHelper.GenerateMissingItemIds(assetItem.Asset); CollectionItemIdsAnalysis.FixupItemIds(assetItem, logger); Asset = assetItem.Asset; RootNode = (AssetNode)Container.NodeContainer.GetOrCreateNode(assetItem.Asset); ApplyOverrides(RootNode, assetItem.Overrides); nodeListener = new GraphNodeChangeListener(RootNode, ShouldListenToTargetNode); nodeListener.Changing += AssetContentChanging; nodeListener.Changed += AssetContentChanged; baseLinker = new AssetToBaseNodeLinker(this) { LinkAction = LinkBaseNode }; }