Aetheria/Assets/Plugins/MSAGL/Layout/Layered/FlatEdgeRouter.cs
Reinier Vens dbc522a224 Weapos Rejiggered
Modified weapon scripts to eliminate specialized projectile behavior - allows charged weapons to have projectiles and modify weapon stats when charged
Added machine gun weapon & VFX
Moved third party code to Plugins folder to improve compile times
2021-01-31 03:52:32 +00:00

29 lines
1,019 B
C#

using Microsoft.Msagl.Core;
namespace Microsoft.Msagl.Layout.Layered {
internal class FlatEdgeRouter : AlgorithmBase {
readonly Routing routing;
private SugiyamaLayoutSettings settings;
int[][] Layers { get { return routing.LayerArrays.Layers; } }
internal FlatEdgeRouter(SugiyamaLayoutSettings settings, Routing routing)
{
this.settings = settings;
this.routing = routing;
}
protected override void RunInternal()
{
for (int i = 0; i < Layers.Length; i++) {
this.ProgressStep();
RouteFlatEdgesBetweenTwoLayers(Layers[i],
i < Layers.Length - 1 ? Layers[i + 1] : new int[0]);
}
}
private void RouteFlatEdgesBetweenTwoLayers(int[] lowerLayer, int[] upperLayer) {
var twoLayerRouter = new TwoLayerFlatEdgeRouter(settings, routing,
lowerLayer, upperLayer);
twoLayerRouter.Run();
}
}
}