csharp
public sealed class GoapWorldKeysThe world keys a domain reasons about, and how to read them.
Remarks
⚠ Projected once per resolve, not read per condition. An A* over the action graph evaluates a condition many times per search — the same condition on every partial plan that reaches it — so reading the world through the source each time would be a component lookup per graph node. The projection is a span of ints taken once, and the search is arithmetic over it.
Fields and properties (2)
public int CountHow many there are.
public GoapKeyDefinition this[GoapWorldKey key]The key at an index.
Methods (4)
public GoapWorldKeys(params GoapKeyDefinition[] keys)Creates a key table.
public bool TryGetKey(Symbol name, out GoapWorldKey key)Looks a key up by name.
public Symbol NameOf(GoapWorldKey key)What a key is called.
public void Project(in AgentContext context, Span<int> state)Reads every key into a span.
Used by (17)
- AiSnapshotsVixen.Ai
- AiSystemVixen.Ai
- GoapBudgetTestsVixen.Ai.Tests
- GoapCostTestsVixen.Ai.Tests
- GoapDomainVixen.Ai
- GoapDomainContentCompilerVixen.Ai
- GoapDomainTestsVixen.Ai.Tests
- GoapPearTestsVixen.Ai.Tests
- GoapReplanTestsVixen.Ai.Tests
- GoapSnapshotVixen.Ai
- VillageVixen.Ai.Nodes.Tests
- AgentDebugModelVixen.Editor.Ai
- GoapDomainImporterVixen.Editor.Assets
- GoapDomainViewVixen.Editor.AssetEditors
- GoapGraphProjectionVixen.Editor.Ai
- LiveAgentVixen.Editor.AssetEditors.Tests
- LiveGoapTestsVixen.Editor.AssetEditors.Tests