public interface IEditProviderHow an EditTarget reaches the members of what it is holding.
Remarks
The seam that stops "one editing pipeline" from meaning "one kind of thing". An entity's components are described by a generator; a graph node's ports are described by the node; a settings asset is described by Vixen.Core.Reflection; a plugin's own object is described by whatever the plugin ships. Four implementations of this, and one pipeline over all of them — rather than four pipelines, which is what the editor had.
⚠ Resolution is by type, not by instance. A selection of twenty objects has one member list, and asking each object for its own would make a mixed selection a set of lists to intersect. EditTarget works out the common type first and asks once.
Methods (2)
IReadOnlyList<IEditMember> MembersOf(Type type)The members of a type, in the order they should be shown.
bool TryResolve(Type type, string path, out IEditMember? member)Finds one member of a type by name.
Used by (5)
- EditTargetVixen.Editor.Core
- EmptyEditProviderVixen.Editor.Core
- InspectorEditProviderVixen.Editor.Inspector
- InspectorTargetVixen.Editor.Inspector
- TestProviderVixen.Editor.Core.Tests