Rotatable Pumps (#2223)

* Pump textures

* PumpVisualizer enabled state

* Pump rotation

* Pump tests fix

Co-authored-by: py01 <pyronetics01@gmail.com>
This commit is contained in:
py01
2020-10-12 05:02:57 -06:00
committed by GitHub
parent c904a7e9c4
commit 77fa796a3b
23 changed files with 95 additions and 165 deletions

View File

@@ -144,5 +144,19 @@ namespace Content.Shared.GameObjects.Components.Atmos
_ => throw new ArgumentOutOfRangeException(nameof(pipeDirection)),
};
}
public static PipeDirection RotatePipeDirection(this PipeDirection pipeDirection, double diff)
{
var newPipeDir = PipeDirection.None;
for (var i = 0; i < PipeDirections; i++)
{
var currentPipeDirection = (PipeDirection) (1 << i);
if (!pipeDirection.HasFlag(currentPipeDirection)) continue;
var angle = currentPipeDirection.ToAngle();
angle += diff;
newPipeDir |= angle.GetCardinalDir().ToPipeDirection();
}
return newPipeDir;
}
}
}