Vixen
02b45cc4
csharp
public sealed class EditorContext

What a command is handed: the project it is changing, and which document it is in.

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

Remarks

One context per command stack, not one per execution. A per-document stack has a context whose Document is that document; the project's global stack has one whose Document is , which is the whole of what makes a command "global".

Touch is how a cross-document operation declares its blast radius. Renaming an asset rewrites references inside documents that are open and that have undo stacks of their own; those stacks now hold entries that would undo into a world that has moved. The command says which documents it reached, the stack marks them, and the interaction is one documented rule instead of a per-feature guess.

Fields and properties (5)

  • public EditorProject Project

    The project everything here belongs to.

  • public EditorDocument? Document

    The document this stack edits, or for the global stack.

  • public AssetDatabase Assets

    Every asset in the project, by GUID and by path.

  • public ReferenceIndex References

    Who refers to what.

  • public Selection<AssetId> Selection

    What is selected in the project browser.

Methods (1)

  • public void Touch(EditorDocument document)

    Declares that the running command changed something inside .

Used by (48, showing 40)

  • AddFoliageTypeCommandVixen.Editor.Terrain
  • AddTargetCommandVixen.Editor.AssetEditors
  • AssignTargetCommandVixen.Editor.Terrain
  • BooleanCommandVixen.Editor.SceneView
  • CollapseLayerCommandVixen.Editor.Terrain
  • CommandStackVixen.Editor.Core
  • CompositeCommandVixen.Editor.Core
  • CreateEntityCommandVixen.Editor.SceneView
  • DelegateCommandVixen.Editor.Core
  • DestroyEntitiesCommandVixen.Editor.SceneView
  • EditMeshCommandVixen.Editor.SceneView
  • EditorDocumentVixen.Editor.Core
  • EditorDocumentTestsVixen.Editor.Core.Tests
  • EditorProjectVixen.Editor.Core
  • FoliageModeTestsVixen.Editor.Terrain.Tests
  • FoliageMoveCommandVixen.Editor.Terrain
  • FoliageStrokeCommandVixen.Editor.Terrain
  • IEditorCommandVixen.Editor.Core
  • InsertLayerCommandVixen.Editor.Terrain
  • LayerPropertyCommandVixen.Editor.Terrain
  • MaterialCommandVixen.Editor.SceneView
  • MaterialParameterCommandVixen.Editor.AssetEditors
  • MoveLayerCommandVixen.Editor.Terrain
  • NodeGraphCommandVixen.Editor.NodeGraph
  • RemoveLayerCommandVixen.Editor.Terrain
  • RemoveTargetCommandVixen.Editor.AssetEditors
  • RenameEntityCommandVixen.Editor.SceneView
  • ReparentCommandVixen.Editor.SceneView
  • ReplaceLayerCommandVixen.Editor.Terrain
  • SceneDocumentVixen.Editor.SceneView
  • SetComponentCommandVixen.Editor.SceneView
  • SetMembersCommandVixen.Editor.Inspector
  • SetOverriddenCommandVixen.Editor.AssetEditors
  • SetPropertyCommandVixen.Editor.Core
  • SetValuesCommandVixen.Editor.Core
  • ShapeCommandVixen.Editor.SceneView
  • SplineCommandVixen.Editor.SceneView
  • SplineEditTestsVixen.Editor.SceneView.Tests
  • SpriteEditCommandVixen.Editor.AssetEditors
  • TargetLayerCommandVixen.Editor.Terrain