Vixen
02b45cc4
csharp
public interface IEditProvider

How an EditTarget reaches the members of what it is holding.

Read the guide page for this →

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