Vixen
c7401864
csharp
public sealed class GoapDomainDocument

A GOAP domain, open for editing: three tables, and a graph derived from them.

Read the guide page for this →

Remarks

⚠ The tables are edited and the graph is not — doc 37 § Part 5. The edges of a GOAP graph are computed from which effects satisfy which conditions, so drawing them by hand would be authoring the same fact twice and the two copies would disagree the first time somebody changed a condition.

Fields and properties (6)

  • public const string Extension

    What a GOAP domain is written as.

  • public string AssetPath

    Where the file is, absolute.

  • public GoapDomainContent Content

    The domain as a file holds it.

  • public string? LoadError

    Why the file would not read, or .

  • public IReadOnlyList<BehaviorTreeDiagnostic> Diagnostics

    What the last Compile had to say.

  • public GoapDomain? Domain

    What the last Compile produced, or .

Events (1)

Methods (6)

  • public GoapDomainDocument(EditorProject project, AssetId asset, string path)

    Opens a domain.

  • public string ToYaml()

    The domain as it would be written.

  • public GoapDomain? Compile(BehaviorTreeResolver? resolver = null)

    Compiles the domain, which is what builds the graph the viewer draws.

  • public void Edit(string name, Action<GoapDomainContent> gesture, string? mergeKey = null)

    Runs a gesture as one undo entry.

  • protected override void SaveCore()

    Writes the document back to wherever it came from.

  • public static GoapDomainContent Copy(GoapDomainContent content)

    A deep copy of a domain, for an undo entry.

Used by (5)

  • GoapDomainDocumentTestsVixen.Editor.AssetEditors.Tests
  • GoapDomainEditorFactoryVixen.Editor.AssetEditors
  • GoapDomainViewVixen.Editor.AssetEditors
  • GoapGraphProjectionTestsVixen.Editor.AssetEditors.Tests
  • SnapshotCommandVixen.Editor.AssetEditors