New navigation

This commit is contained in:
Marco 2025-04-09 11:43:44 +02:00
commit 86f7459837
8 changed files with 119 additions and 56 deletions

View file

@ -14,7 +14,7 @@ public partial class TilemapAvoidance : TileMapLayer
public override void _Ready()
{
//NavigationServer2D.MapSetEdgeConnectionMargin(this.TileSet.GetRid(), 0f);
_ = RefreshNavigationAsync();
//_ = RefreshNavigationAsync();
}
@ -41,16 +41,16 @@ public partial class TilemapAvoidance : TileMapLayer
//
if (_needsFullCheck)
{
var spaceState = GetWorld2D().DirectSpaceState;
var globalCoords = ToGlobal(this.MapToLocal(coords));
var query = new PhysicsPointQueryParameters2D();
query.Position = globalCoords;
query.CollisionMask = ObstaclesCollisionMask;
query.CollideWithBodies = true;
query.CollideWithAreas = true;
var result = spaceState.IntersectPoint(query);
if (result.Count > 0) return true;
// var spaceState = GetWorld2D().DirectSpaceState;
// var globalCoords = ToGlobal(this.MapToLocal(coords));
// var query = new PhysicsPointQueryParameters2D();
// query.Position = globalCoords;
// query.CollisionMask = ObstaclesCollisionMask;
// query.CollideWithBodies = true;
// query.CollideWithAreas = true;
//
// var result = spaceState.IntersectPoint(query);
// if (result.Count > 0) return true;
//_needsFullCheck = false;
return _solidLayers.Aggregate(false,