public sealed class UtilityActionOne thing an agent might do, and how good it would be.
Remarks
doc 37 § D2's whole point: what this chooses is an IAgentAction, named by index the way a behaviour-tree task is. A project writes MoveToTask once and gets it in a tree, in a utility set and in a GOAP plan.
Weight is the bucket — 1 for ambient, 2–3 for important, 5 for emergency — and it is a multiplier rather than a hard ordering. ⚠ A hard ordering means an emergency action with one zero-scoring consideration blocks everything below it; a multiplier degrades instead.
Fields and properties (6)
public Symbol NameWhat it is called.
public ushort ActionWhich action it runs.
public UtilityConsideration[] ConsiderationsWhat decides how good it is.
public float WeightIts multiplier. 1 for ambient, 2–3 for important, 5 for emergency.
public float CooldownHow long after it ends before it may be chosen again, in seconds.
public int BucketWhich group it is in. Higher wins, under UtilitySelectors.Bucketed.
Methods (2)
public UtilityAction(Symbol name, ushort action, params UtilityConsideration[] considerations)Creates an action.
public float Score(in AgentContext context, Span<float> detail = default(Span<float>))How good it would be right now.
Used by (23)
- AiDebugChannelTestsVixen.Ai.Tests
- AiDiagnosisExitCriteriaTestsVixen.Ai.Tests
- AiSnapshotTestsVixen.Ai.Tests
- AiSnapshotsVixen.Ai
- AiSystemVixen.Ai
- AuthorableNodeTestsVixen.Ai.Tests
- BucketedSelectorVixen.Ai
- OverlayFixtureVixen.Ai.Diagnostics.Tests
- QueryScorerExitCriteriaTestsVixen.Ai.Tests
- RunUtilitySetTaskVixen.Ai
- UtilityAgentTestsVixen.Ai.Tests
- UtilityCompensationTestsVixen.Ai.Tests
- UtilityContentTestsVixen.Ai.Tests
- UtilityInertiaTestsVixen.Ai.Tests
- UtilityOscillationTestsVixen.Ai.Tests
- UtilitySelectorTestsVixen.Ai.Tests
- UtilitySelectorsVixen.Ai
- UtilitySetVixen.Ai
- UtilitySetContentCompilerVixen.Ai
- VillageVixen.Ai.Nodes.Tests
- VillageSampleTestsVixen.Ai.Nodes.Tests
- AgentFixtureVixen.Editor.AssetEditors.Tests
- LiveAgentVixen.Editor.AssetEditors.Tests