Build 0.21.1.0

This commit is contained in:
Markus Isberg
2023-01-13 18:10:35 +02:00
parent 2f7205fb4b
commit 697ec52120
155 changed files with 2423 additions and 1237 deletions
@@ -188,16 +188,26 @@ namespace Barotrauma.Items.Components
private DockingPort FindAdjacentPort()
{
float closestDist = float.MaxValue;
DockingPort closestPort = null;
foreach (DockingPort port in list)
{
if (port == this || port.item.Submarine == item.Submarine || port.IsHorizontal != IsHorizontal) { continue; }
if (Math.Abs(port.item.WorldPosition.X - item.WorldPosition.X) > DistanceTolerance.X) { continue; }
if (Math.Abs(port.item.WorldPosition.Y - item.WorldPosition.Y) > DistanceTolerance.Y) { continue; }
float xDist = Math.Abs(port.item.WorldPosition.X - item.WorldPosition.X);
if (xDist > DistanceTolerance.X) { continue; }
float yDist = Math.Abs(port.item.WorldPosition.Y - item.WorldPosition.Y);
if (yDist > DistanceTolerance.Y) { continue; }
return port;
float dist = xDist + yDist;
//disfavor non-interactable ports
if (port.item.NonInteractable) { dist *= 2; }
if (dist < closestDist)
{
closestPort = port;
closestDist = dist;
}
}
return null;
return closestPort;
}
private void AttemptDock()