Vixen
02b45cc4
csharp
public static class ReflectedDescriptor

Turns what the serialization generator knows about a type into inspector rows.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

⚠ The gap this closes is that no runtime type carries [Inspector], and none should. A component in Vixen.Engine annotated for the editor would be a runtime assembly referencing an editor one — the layering doc 11 sets out exists precisely to stop that. But every [DataContract] type already has a full member description, with boxed accessors, categories, tooltips and ranges, generated for serialization. It is the same information under a different name.

So an inspector that can read one draws a game's components with nothing asked of the game, which is the difference between a component panel that works for Camera and one that works for whatever somebody wrote this morning.

⚠ An [Inspector] descriptor still wins where there is one. It carries what a serializer has no reason to know — conditions, asset-picker types, multiline hints, header grouping the author chose for a panel rather than for a file — and a type with both is a type whose author said something specific about how it should be edited.

Methods (3)

  • public static InspectorDescriptor? For(Type type)

    The descriptor for a type, from whichever generator described it.

  • public static bool TryGet(Type type, out InspectorDescriptor? descriptor)

    Whether anything can draw rows for a type.

  • public static void Clear()

    Forgets what has been built. For tests that register descriptors of their own.

Used by (4)

  • ComponentTestsVixen.Editor.App.Tests
  • ComponentsViewVixen.Editor.App
  • DropIntoFieldTestsVixen.Editor.App.Tests
  • NestedDrawerVixen.Editor.Inspector