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.