Vixen
02b45cc4
csharp
public record class TypeIcon

What a type looks like, wherever the editor draws one.

Read the guide page for this →

Remarks

Doc 36 § D6. A contribution rather than a switch, so the outliner's row for a plugin's component and the inspector's header for it draw the same picture without either panel knowing the plugin exists.

⚠ A registration and not an attribute, and the reason is in Icon. Doc 36 spells this [EditorIcon("Icons/thing.svg")] — but there is no SVG path parser in this repository and its absence is a decision: an icon set is compiled content, so turning "M12 2L2 22h20z" into segments belongs to an asset pipeline rather than to every application at start-up. An attribute naming a file nothing can read would be an attribute that looks like a mechanism, which is what P2 declined to ship for the same reason. A type declares its icon by registering it, which a module initializer, a plugin's Activate and a project's own script can all do.

Fields and properties (3)

  • public Type Target

    The type — a component, a behaviour, or the class an asset deserialises to.

  • public IconArt Art

    Its picture.

  • public int Order

    Which of two declarations for one type wins; the higher one, and the later one on a tie.

Methods (1)

  • public TypeIcon(Type Target, IconArt Art, int Order = 0)

    What a type looks like, wherever the editor draws one.

Used by (8)

  • ComponentsViewVixen.Editor.App
  • DeclaredContributionsVixen.Editor.App
  • EditorApplicationVixen.Editor.App
  • EditorArtVixen.Editor.Ui
  • IconContributionTestsVixen.Editor.App.Tests
  • MaterialIconsVixen.Editor.App
  • OutOfTreePluginTestsVixen.Editor.App.Tests
  • StandardIconsVixen.Editor.App