// Copyright (c) 2014-2015 Robert Rouhani and other contributors (see CONTRIBUTORS file). // Licensed under the MIT License - https://raw.github.com/Robmaister/SharpNav/master/LICENSE using System; using SharpNav.Geometry; #if MONOGAME using Vector3 = Microsoft.Xna.Framework.Vector3; #elif OPENTK using Vector3 = OpenTK.Vector3; #elif SHARPDX using Vector3 = SharpDX.Vector3; #endif namespace SharpNav.Pathfinding { /// /// A set of flags that define properties about an off-mesh connection. /// [Flags] public enum OffMeshConnectionFlags : byte { /// /// No flags. /// None = 0x0, /// /// The connection is bi-directional. /// Bidirectional = 0x1 } /// /// An offmesh connection links two polygons, which are not directly adjacent, but are accessibly through /// other means (jumping, climbing, etc...). /// public class OffMeshConnection { /// /// Gets or sets the first endpoint of the connection /// public Vector3 Pos0 { get; set; } /// /// Gets or sets the second endpoint of the connection /// public Vector3 Pos1 { get; set; } /// /// Gets or sets the radius /// public float Radius { get; set; } /// /// Gets or sets the polygon's index /// public int Poly { get; set; } /// /// Gets or sets the polygon flag /// public OffMeshConnectionFlags Flags { get; set; } /// /// Gets or sets the endpoint's side /// public BoundarySide Side { get; set; } /// /// Gets or sets user data for this connection. /// public object Tag { get; set; } } }