BitQuirky.Behavior.Movement
Public behavior trees and state machines: runtime symbols in BitQuirky.Behavior.Movement.
Source snapshot ad0983d00d77.
On this page
Assembly: BitQuirky.Behavior.Runtime
BehaviorMovementRequest
Section titled “BehaviorMovementRequest”Category: Movement adapters
readonly struct BitQuirky.Behavior.Movement.BehaviorMovementRequestSource 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.
Members
Section titled “Members”AgentId
Section titled “AgentId”public UnityEngine.EntityId AgentId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:49
Gets the stable identity of the requesting agent.
ArrivalTolerance
Section titled “ArrivalTolerance”public float ArrivalTolerance { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:43
Gets the required nonnegative arrival tolerance.
CommandId
Section titled “CommandId”public int CommandId { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:46
Gets the external-service command identity.
public float Speed { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementRequest.cs:40
Gets the required positive movement speed.
Target
Section titled “Target”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)”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.
Equals(BehaviorMovementRequest other)
Section titled “Equals(BehaviorMovementRequest other)”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.
Equals(object obj)
Section titled “Equals(object obj)”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.
GetHashCode()
Section titled “GetHashCode()”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.
BehaviorMovementService
Section titled “BehaviorMovementService”Category: Movement adapters
class BitQuirky.Behavior.Movement.BehaviorMovementServiceSource 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.
Members
Section titled “Members”ActiveRequest
Section titled “ActiveRequest”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.
HasActiveRequest
Section titled “HasActiveRequest”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.
ServiceTokens
Section titled “ServiceTokens”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.
public BitQuirky.Behavior.Movement.BehaviorMovementServiceState State { get; }Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:86
Gets the current request lifecycle state.
ServiceId
Section titled “ServiceId”public static readonly int ServiceIdSource declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:59
Stable hashed identity derived from ServiceToken.
ServiceToken
Section titled “ServiceToken”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)”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.
Advance(float deltaTime, int frameStamp)
Section titled “Advance(float deltaTime, int frameStamp)”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.
Decode(ExternalServiceCommand command)
Section titled “Decode(ExternalServiceCommand command)”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.
Dispose()
Section titled “Dispose()”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)”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.
DrainCommands(int frameStamp)
Section titled “DrainCommands(int frameStamp)”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.
Handle(in ExternalServiceCommand command)
Section titled “Handle(in ExternalServiceCommand command)”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)”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)”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.
Pause()
Section titled “Pause()”public void Pause()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:279-287
Pauses one running request without changing its identity.
Resume()
Section titled “Resume()”public void Resume()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:290-298
Resumes one paused request with the same identity.
Stop()
Section titled “Stop()”public void Stop()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:301-310
Stops and clears one running or paused request.
BehaviorMovementServiceState
Section titled “BehaviorMovementServiceState”Category: Movement adapters
enum BitQuirky.Behavior.Movement.BehaviorMovementServiceStateSource 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.
Members
Section titled “Members”Idle = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:25
No request is active.
Paused
Section titled “Paused”Paused = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:31
The active request retains identity without advancing.
Running
Section titled “Running”Running = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/BehaviorMovementService.cs:28
The active request advances when the owner steps.
BehaviorMovementStatus
Section titled “BehaviorMovementStatus”Category: Movement adapters
enum BitQuirky.Behavior.Movement.BehaviorMovementStatusSource 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.
Members
Section titled “Members”Completed
Section titled “Completed”Completed = 1Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:20
The request reached its authored completion condition.
Failed
Section titled “Failed”Failed = 2Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:23
The valid request cannot be completed by this backend.
Running
Section titled “Running”Running = 0Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:17
The request requires another explicit advancement step.
IBehaviorMovementAdapter
Section titled “IBehaviorMovementAdapter”Category: Movement adapters
interface BitQuirky.Behavior.Movement.IBehaviorMovementAdapterSource 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.
Members
Section titled “Members”Advance(float deltaTime)
Section titled “Advance(float deltaTime)”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.
Begin(in BehaviorMovementRequest request)
Section titled “Begin(in BehaviorMovementRequest request)”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.
Pause()
Section titled “Pause()”void Pause()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:44
Pauses motion without discarding active request identity.
Resume()
Section titled “Resume()”void Resume()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:47
Resumes motion for the same active request identity.
Stop()
Section titled “Stop()”void Stop()Source declaration: Packages/io.bitquirky.behavior/Runtime/Movement/IBehaviorMovementAdapter.cs:50
Stops motion and releases active request state.
Source fingerprint: sha256:ad0983d00d773d882bc61865e18d8c5559e009d181e5891575cd7f262515b23e