Use pattern matching

This commit is contained in:
Eduardo Cáceres
2022-05-02 13:11:49 +02:00
committed by atlimit8
parent aed2b8afae
commit 2677e9c013
15 changed files with 83 additions and 90 deletions

View File

@@ -104,8 +104,8 @@ namespace OpenRA.Mods.Cnc.Traits
{
case "BeginMinefield":
var start = self.World.Map.CellContaining(target.CenterPosition);
if (self.World.OrderGenerator is MinefieldOrderGenerator)
((MinefieldOrderGenerator)self.World.OrderGenerator).AddMinelayer(self);
if (self.World.OrderGenerator is MinefieldOrderGenerator generator)
generator.AddMinelayer(self);
else
self.World.OrderGenerator = new MinefieldOrderGenerator(self, start, queued);
@@ -145,6 +145,8 @@ namespace OpenRA.Mods.Cnc.Traits
// A different minelayer might have started laying the field without this minelayer knowing the start
minefieldStart = order.ExtraLocation;
#pragma warning disable IDE0019 // Use pattern matching
var movement = self.Trait<IPositionable>();
var mobile = movement as Mobile;
@@ -153,6 +155,8 @@ namespace OpenRA.Mods.Cnc.Traits
&& movement.CanEnterCell(c, null, BlockedByActor.Immovable) && (mobile != null && mobile.CanStayInCell(c)))
.OrderBy(c => (c - minefieldStart).LengthSquared).ToList();
#pragma warning restore IDE0019 // Use pattern matching
self.QueueActivity(order.Queued, new LayMines(self, minefield));
self.ShowTargetLines();
}
@@ -305,6 +309,8 @@ namespace OpenRA.Mods.Cnc.Traits
var minefield = GetMinefieldCells(minefieldStart, lastMousePos,
minelayers.Max(m => m.Info.TraitInfo<MinelayerInfo>().MinefieldDepth));
#pragma warning disable IDE0019 // Use pattern matching
var movement = minelayer.Trait<IPositionable>();
var mobile = movement as Mobile;
var pal = wr.Palette(TileSet.TerrainPaletteInternalName);
@@ -335,6 +341,8 @@ namespace OpenRA.Mods.Cnc.Traits
}
yield return new SpriteRenderable(tile, world.Map.CenterOfCell(c), WVec.Zero, -511, pal, 1f, alpha, float3.Ones, TintModifiers.IgnoreWorldTint, true);
#pragma warning restore IDE0019 // Use pattern matching
}
}