fix #184 crashes while placing minefield
This commit is contained in:
@@ -110,8 +110,8 @@ namespace OpenRA.Mods.RA
|
|||||||
}
|
}
|
||||||
|
|
||||||
var underCursor = world.FindUnitsAtMouse(mi.Location)
|
var underCursor = world.FindUnitsAtMouse(mi.Location)
|
||||||
//.Where(a => a.Info.Traits.Contains<SelectableInfo>())
|
.OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>()
|
||||||
.OrderByDescending(a => a.Info.Traits.Contains<SelectableInfo>() ? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue)
|
? a.Info.Traits.Get<SelectableInfo>().Priority : int.MinValue)
|
||||||
.FirstOrDefault();
|
.FirstOrDefault();
|
||||||
|
|
||||||
if (mi.Button == MouseButton.Right && underCursor == null)
|
if (mi.Button == MouseButton.Right && underCursor == null)
|
||||||
@@ -120,13 +120,16 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
public void Tick(World world)
|
public void Tick(World world)
|
||||||
{
|
{
|
||||||
if (minelayer.IsDead() || !minelayer.IsInWorld)
|
if (!minelayer.IsInWorld || minelayer.IsDead())
|
||||||
world.CancelInputMode();
|
world.CancelInputMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
int2 lastMousePos;
|
int2 lastMousePos;
|
||||||
public void RenderAfterWorld(World world)
|
public void RenderAfterWorld(World world)
|
||||||
{
|
{
|
||||||
|
if (!minelayer.IsInWorld)
|
||||||
|
return;
|
||||||
|
|
||||||
var ml = minelayer.Trait<Minelayer>();
|
var ml = minelayer.Trait<Minelayer>();
|
||||||
var movement = minelayer.Trait<IMove>();
|
var movement = minelayer.Trait<IMove>();
|
||||||
var minefield = GetMinefieldCells(ml.minefieldStart, lastMousePos, minelayer.Info.Traits.Get<MinelayerInfo>().MinefieldDepth)
|
var minefield = GetMinefieldCells(ml.minefieldStart, lastMousePos, minelayer.Info.Traits.Get<MinelayerInfo>().MinefieldDepth)
|
||||||
|
|||||||
Reference in New Issue
Block a user