using System.Collections.Generic; using Robust.Shared.GameObjects; using Robust.Shared.Map; namespace Content.Server.GameObjects.EntitySystems.AI.Pathfinding.Pathfinders { public struct PathfindingArgs { public EntityUid Uid { get; } public ICollection Access { get; } public int CollisionMask { get; } public TileRef Start { get; } public TileRef End { get; } // How close we need to get to the endpoint to be 'done' public float Proximity { get; } // Whether we use cardinal only or not public bool AllowDiagonals { get; } // Can we go through walls public bool NoClip { get; } // Can we traverse space tiles public bool AllowSpace { get; } public PathfindingArgs( EntityUid entityUid, ICollection access, int collisionMask, TileRef start, TileRef end, float proximity = 0.0f, bool allowDiagonals = true, bool noClip = false, bool allowSpace = false) { Uid = entityUid; Access = access; CollisionMask = collisionMask; Start = start; End = end; Proximity = proximity; AllowDiagonals = allowDiagonals; NoClip = noClip; AllowSpace = allowSpace; } } }