4 using System.Collections.Generic;
5 using SiliconStudio.Core.Reflection;
7 namespace SiliconStudio.Assets
23 if (item == null)
throw new ArgumentNullException(
"item");
27 var nextBaseItem = Item;
29 while ((nextBaseItem = nextBaseItem.FindBase()) != null)
31 baseItems.Add(nextBaseItem);
51 if (path == null)
throw new ArgumentNullException(
"path");
56 if (path.
TryGetValue(Item.Asset, out value, out overrideType))
59 if (overrideType.IsNew())
67 foreach (var nextBaseItem
in baseItems)
71 if (path.
TryGetValue(nextBaseItem.Asset, out parentValue, out parentOverrideType))
73 overriderItem = nextBaseItem;
77 if (parentOverrideType.IsSealed())
79 overrideType = OverrideType.Base | OverrideType.Sealed;
84 if (parentOverrideType.IsNew())
bool TryGetValue(object rootObject, out object value)
Gets the value from the specified root object following this instance path.
AssetItemAccessor(AssetItem item)
Initializes a new instance of the AssetItemAccessor class.
An asset item part of a Package accessible through SiliconStudio.Assets.Package.Assets.
Contains the value of an asset member returned by AssetItemAccessor.TryGetMemberValue ...
AssetMemberValue TryGetMemberValue(MemberPath path)
Try to gets the value of an asset member and provides the assets that OverrideType information for th...
An AssetItem accessor to get member value and overrides.
Allows to get/set a property/field value on a deeply nested object instance (supporting members...
OverrideType
A Type of override used on a member value.