Skip to content

Game.Pathfind.UpdateActionData

Assembly: Assembly-CSharp
Namespace: Game.Pathfind

Type: struct

Base: System.ValueType

Summary:
A simple data container used by the pathfinding/update action systems. Holds references to the owner entity, primary and secondary path nodes, path specifications, and a location specification. This struct is a plain-data (mutable) value type intended to be passed around by systems/jobs that perform or schedule pathfinding updates.


Fields

  • public Entity m_Owner
    Entity that owns or requested the path update (typically the agent or building entity associated with this action).

  • public PathNode m_StartNode
    Primary starting node for the path update.

  • public PathNode m_MiddleNode
    An intermediate node used by the path update (optional depending on algorithm/route).

  • public PathNode m_EndNode
    Primary end/destination node for the path update.

  • public PathNode m_SecondaryStartNode
    Secondary start node, used for alternate/sub-paths or split routes.

  • public PathNode m_SecondaryEndNode
    Secondary end node, used for alternate/sub-paths or split routes.

  • public PathSpecification m_Specification
    Specification data describing parameters for the primary path (e.g., constraints, vehicle/profile-specific flags). Contains pathfinding options used by the system.

  • public PathSpecification m_SecondarySpecification
    Specification data for the secondary path (if applicable).

  • public LocationSpecification m_Location
    Location-related metadata (world coordinates, lane/segment info, or other locality data used by pathfinding routines).

Properties

  • None.
    This struct exposes only public fields and does not define C# properties.

Constructors

  • public UpdateActionData()
    No explicit constructors are defined in the source; the default parameterless constructor (value-initializing fields) is provided implicitly for the struct. In practice this struct is typically created with object initializer syntax to set the relevant fields.

Methods

  • None.
    This struct contains no methods; it is used purely as a data container.

Usage Example

// Example: constructing an UpdateActionData instance and using it in a system/job
var update = new Game.Pathfind.UpdateActionData {
    m_Owner = someEntity,
    m_StartNode = startNode,
    m_MiddleNode = middleNode,
    m_EndNode = endNode,
    m_SecondaryStartNode = secondaryStart,
    m_SecondaryEndNode = secondaryEnd,
    m_Specification = pathSpec,
    m_SecondarySpecification = secondarySpec,
    m_Location = locationSpec
};

// Pass `update` to a pathfinding system, enqueue it, or process in a job.
// Example (pseudo-code):
pathfindSystem.ScheduleUpdate(update);

Notes: - All fields are public and mutable; use with care in multithreaded/job contexts (copy values or ensure safe access). - The concrete types PathNode, PathSpecification, and LocationSpecification are defined elsewhere in the Game.Pathfind namespace and contain the specifics required by the pathfinding implementation.