diff options
| author | chai <215380520@qq.com> | 2024-05-23 10:08:29 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-23 10:08:29 +0800 |
| commit | 8722a9920c1f6119bf6e769cba270e63097f8e25 (patch) | |
| tree | 2eaf9865de7fb1404546de4a4296553d8f68cc3b /Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs | |
| parent | 3ba4020b69e5971bb0df7ee08b31d10ea4d01937 (diff) | |
+ astar project
Diffstat (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs')
| -rw-r--r-- | Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs new file mode 100644 index 0000000..3b80019 --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/RVO/RVOObstacle.cs @@ -0,0 +1,58 @@ +using UnityEngine; +using System.Collections.Generic; + +namespace Pathfinding.RVO { + using Pathfinding.Drawing; + + /// <summary> + /// Base class for simple RVO colliders. + /// + /// This is a helper base class for RVO colliders. It provides automatic gizmos + /// and helps with the winding order of the vertices as well as automatically updating the obstacle when moved. + /// + /// Extend this class to create custom RVO obstacles. + /// + /// See: RVOSquareObstacle + /// + /// Deprecated: This component is deprecated. Local avoidance colliders never worked particularly well and the performance was poor. Modify the graphs instead so that pathfinding takes obstacles into account. + /// </summary> + public abstract class RVOObstacle : VersionedMonoBehaviour { + /// <summary> + /// Mode of the obstacle. + /// Determines winding order of the vertices + /// </summary> + public ObstacleVertexWinding obstacleMode; + + public RVOLayer layer = RVOLayer.DefaultObstacle; + + /// <summary> + /// RVO Obstacle Modes. + /// Determines winding order of obstacle vertices + /// </summary> + public enum ObstacleVertexWinding { + /// <summary>Keeps agents from entering the obstacle</summary> + KeepOut, + /// <summary>Keeps agents inside the obstacle</summary> + KeepIn, + } + + /// <summary> + /// Enable executing in editor to draw gizmos. + /// If enabled, the CreateObstacles function will be executed in the editor as well + /// in order to draw gizmos. + /// </summary> + protected abstract bool ExecuteInEditor { get; } + + /// <summary>If enabled, all coordinates are handled as local.</summary> + protected abstract bool LocalCoordinates { get; } + + /// <summary> + /// Static or dynamic. + /// This determines if the obstacle can be updated by e.g moving the transform + /// around in the scene. + /// </summary> + protected abstract bool StaticObstacle { get; } + + protected abstract float Height { get; } + } +} |
