Merge pull request #6931 from Happy0/mono310_workaround
Workarounds for a bug in certain versions of Mono (3.10 and certain versions of 3.8) which stops OpenRA building
This commit is contained in:
@@ -374,8 +374,12 @@ namespace OpenRA
|
||||
var result = new T[width, height];
|
||||
for (var i = 0; i < width; i++)
|
||||
for (var j = 0; j < height; j++)
|
||||
result[i, j] = i <= ts.GetUpperBound(0) && j <= ts.GetUpperBound(1)
|
||||
? ts[i, j] : t;
|
||||
// Workaround for broken ternary operators in certain versions of mono (3.10 and
|
||||
// certain versions of the 3.8 series): https://bugzilla.xamarin.com/show_bug.cgi?id=23319
|
||||
if (i <= ts.GetUpperBound(0) && j <= ts.GetUpperBound(1))
|
||||
result[i, j] = ts[i, j];
|
||||
else
|
||||
result[i, j] = t;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,8 +51,14 @@ namespace OpenRA.Mods.RA.Render
|
||||
var turreted = self.TraitsImplementing<Turreted>()
|
||||
.FirstOrDefault(t => t.Name == arm.Info.Turret);
|
||||
|
||||
getFacing = turreted != null ? () => turreted.TurretFacing :
|
||||
facing != null ? (Func<int>)(() => facing.Facing) : () => 0;
|
||||
// Workaround for broken ternary operators in certain versions of mono (3.10 and
|
||||
// certain versions of the 3.8 series): https://bugzilla.xamarin.com/show_bug.cgi?id=23319
|
||||
if (turreted != null)
|
||||
getFacing = () => turreted.TurretFacing;
|
||||
else if (facing != null)
|
||||
getFacing = (Func<int>)(() => facing.Facing);
|
||||
else
|
||||
getFacing = () => 0;
|
||||
|
||||
var muzzleFlash = new Animation(self.World, render.GetImage(self), getFacing);
|
||||
visible.Add(barrel, false);
|
||||
|
||||
Reference in New Issue
Block a user