示例#1
0
 void OnDrawGizmos()
 {
     if (_pathfinder != null)
     {
         foreach (var node in _pathfinder.GetGrid())
         {
             if (node.walkable)
             {
                 Gizmos.color = Color.white;
             }
             else
             {
                 Gizmos.color = Color.black;
             }
             Gizmos.DrawSphere(node.worldPosition, 0.2f);
             foreach (var nodeNeigbor in _pathfinder.GetNeighbors(node, 2.1f))
             {
                 Gizmos.DrawLine(node.worldPosition, nodeNeigbor.worldPosition);
             }
         }
         if (lastWaypoints != null)
         {
             Gizmos.color = Color.red;
             foreach (var node in lastWaypoints)
             {
                 Gizmos.DrawSphere(node.worldPosition, 0.2f);
                 foreach (var nodeNeigbor in _pathfinder.GetNeighbors(node, 2.1f))
                 {
                     if (lastWaypoints.Contains(nodeNeigbor))
                     {
                         Gizmos.DrawLine(node.worldPosition, nodeNeigbor.worldPosition);
                     }
                 }
             }
         }
     }
 }