Skip to content
Bit Quirky Behavior Trees and
State Machines

Search documentation

All topics and APIs

Close returns focus to Search.

What are you looking for?

Try a common topic or enter a complete API identifier.

Browse the reference instead

Esc closes · Tab reaches results · Enter opens the focused link

v0.6.0
Menu

BitQuirky.Behavior.Movement

Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Movement.

Source snapshot ad0983d00d77.

Assembly: BitQuirky.Behavior.Runtime

Category: Movement adapters

C#
readonly struct BitQuirky.Behavior.Movement.BehaviorMovementRequest

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:18-80

Implements: IEquatable<BehaviorMovementRequest>

Backend-neutral, allocation-free movement request.

Responsibilities:

  • Carry exact target, speed, tolerance, command, and agent identity data.

Does NOT:

  • Select or mutate a movement backend.

C#
public UnityEngine.EntityId AgentId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:49

Gets the stable identity of the requesting agent.

C#
public float ArrivalTolerance { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:43

Gets the required nonnegative arrival tolerance.

C#
public int CommandId { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:46

Gets the external-service command identity.

C#
public float Speed { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:40

Gets the required positive movement speed.

C#
public Unity.Mathematics.float3 Target { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:37

Gets the requested three-dimensional target.

BehaviorMovementRequest(float3 target, float speed, float arrivalTolerance, int commandId, EntityId agentId)

Section titled “BehaviorMovementRequest(float3 target, float speed, float arrivalTolerance, int commandId, EntityId agentId)”
C#
public BehaviorMovementRequest(Unity.Mathematics.float3 target, float speed, float arrivalTolerance, int commandId, UnityEngine.EntityId agentId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:22-34

Creates one correlated movement request from exact authored values.

C#
public bool Equals(BitQuirky.Behavior.Movement.BehaviorMovementRequest other)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:52-59

Returns whether all request values exactly match another request.

C#
public override bool Equals(object obj)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:62-65

Returns whether another object is the same exact request value.

C#
public override int GetHashCode()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:68-79

Returns a hash code derived from every request value.

Category: Movement adapters

C#
class BitQuirky.Behavior.Movement.BehaviorMovementService

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:44-336

Implements: IDisposable, IBehaviorGameObjectCommandHandler, IExternalServiceAdapter, IBehaviorSteppedService, IInterruptibleExternalServiceAdapter

Single-request bridge between movement commands and an injected backend.

Responsibilities:

  • Consume only movement commands, preserve request identity across pause, and publish exactly one terminal completion after stopping the backend.

Does NOT:

  • Retry failures, disable an agent, or own the command queue and completion ring.

C#
public BitQuirky.Behavior.Movement.BehaviorMovementRequest ActiveRequest { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:95

Gets the current request value, or the default value while idle.

C#
public bool HasActiveRequest { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:92

Gets whether this service owns a running or paused request.

C#
public System.Collections.Generic.IReadOnlyList<string> ServiceTokens { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:89

Gets the single neutral movement token handled by this service.

C#
public BitQuirky.Behavior.Movement.BehaviorMovementServiceState State { get; }

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:86

Gets the current request lifecycle state.

C#
public static readonly int ServiceId

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:59

Stable hashed identity derived from ServiceToken.

C#
public const string ServiceToken = "movement"

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:56

Stable source and queue token for the neutral movement service.

BehaviorMovementService(IBehaviorMovementAdapter adapter, ExternalServiceCommandQueue commands, ExternalServiceCompletionRing completions, EntityId agentId)

Section titled “BehaviorMovementService(IBehaviorMovementAdapter adapter, ExternalServiceCommandQueue commands, ExternalServiceCompletionRing completions, EntityId agentId)”
C#
public BehaviorMovementService(BitQuirky.Behavior.Movement.IBehaviorMovementAdapter adapter, BitQuirky.Behavior.ExternalService.ExternalServiceCommandQueue commands, BitQuirky.Behavior.ExternalService.ExternalServiceCompletionRing completions, UnityEngine.EntityId agentId)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:73-83

Creates a single-request service from explicit adapter, queue, completion, and agent dependencies.

C#
public void Advance(float deltaTime, int frameStamp)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:119-146

Advances a running adapter and publishes one terminal outcome.

C#
public static BitQuirky.Behavior.Movement.BehaviorMovementRequest Decode(BitQuirky.Behavior.ExternalService.ExternalServiceCommand command)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:324-335

Decodes the exact five-float movement payload from a service command.

C#
public void Dispose()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:313-321

Stops active work and marks this service disposed.

DrainAndDispatch(ExternalServiceFrameContext context)

Section titled “DrainAndDispatch(ExternalServiceFrameContext context)”
C#
public void DrainAndDispatch(BitQuirky.Behavior.ExternalService.ExternalServiceFrameContext context)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:174-195

Dispatches pre-partitioned movement requests from a general host loop.

C#
public void DrainCommands(int frameStamp)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:149-171

Drains movement commands for this agent without consuming other services.

C#
public void Handle(in BitQuirky.Behavior.ExternalService.ExternalServiceCommand command)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:107-116

Handles one movement request from the general GameObject command family.

Interrupt(in ExternalServiceInterruption interruption)

Section titled “Interrupt(in ExternalServiceInterruption interruption)”
C#
public void Interrupt(in BitQuirky.Behavior.ExternalService.ExternalServiceInterruption interruption)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:211-221

Stops the exactly identified active request without publishing completion.

OnAuthorityHandoff(EntityId entityId, int frameNumber, ExternalServiceCompletionRing completionRing)

Section titled “OnAuthorityHandoff(EntityId entityId, int frameNumber, ExternalServiceCompletionRing completionRing)”
C#
public BitQuirky.Behavior.ExternalService.AdapterHandoffDecision OnAuthorityHandoff(UnityEngine.EntityId entityId, int frameNumber, BitQuirky.Behavior.ExternalService.ExternalServiceCompletionRing completionRing)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:198-208

Stops movement on authority handoff and selects cancellation.

C#
public void Pause()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:279-287

Pauses one running request without changing its identity.

C#
public void Resume()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:290-298

Resumes one paused request with the same identity.

C#
public void Stop()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:301-310

Stops and clears one running or paused request.

Category: Movement adapters

C#
enum BitQuirky.Behavior.Movement.BehaviorMovementServiceState

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:22-32

Underlying type: byte

Lifecycle state of one agent-owned movement service.

Responsibilities:

  • Identify whether one request is absent, advancing, or paused.

Does NOT:

  • Represent behavior-node status or adapter completion outcome.

C#
Idle = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:25

No request is active.

C#
Paused = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:31

The active request retains identity without advancing.

C#
Running = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:28

The active request advances when the owner steps.

Category: Movement adapters

C#
enum BitQuirky.Behavior.Movement.BehaviorMovementStatus

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:14-24

Underlying type: byte

Outcome returned by a neutral movement backend for one explicit step.

Responsibilities:

  • Report whether one request remains active, completed, or failed.

Does NOT:

  • Publish behavior-tree results or completion-ring records.

C#
Completed = 1

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:20

The request reached its authored completion condition.

C#
Failed = 2

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:23

The valid request cannot be completed by this backend.

C#
Running = 0

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:17

The request requires another explicit advancement step.

Category: Movement adapters

C#
interface BitQuirky.Behavior.Movement.IBehaviorMovementAdapter

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:35-51

Explicit backend boundary for package-owned movement actions.

Responsibilities:

  • Begin, advance, pause, resume, and stop one request without allocation.

Does NOT:

  • Interpret behavior graphs or publish completion records.

C#
BitQuirky.Behavior.Movement.BehaviorMovementStatus Advance(float deltaTime)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:41

Advances the active request by an explicit time step.

C#
bool Begin(in BitQuirky.Behavior.Movement.BehaviorMovementRequest request)

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:38

Begins one valid request and reports whether the backend accepted it.

C#
void Pause()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:44

Pauses motion without discarding active request identity.

C#
void Resume()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:47

Resumes motion for the same active request identity.

C#
void Stop()

Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:50

Stops motion and releases active request state.

Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e

Full-size image