fixed cursor for sea units

This commit is contained in:
Chris Forbes
2009-10-26 21:55:20 +13:00
parent 0d62318688
commit 48a4e421d8

View File

@@ -4,7 +4,8 @@ using System.Linq;
using System.Text;
using System.Windows.Forms;
using IjwFramework.Types;
using System.Drawing;
using System.Drawing;
using OpenRa.Game.Traits;
namespace OpenRa.Game
{
@@ -77,9 +78,14 @@ namespace OpenRa.Game
if (uog != null && uog.selection.Count > 0
&& uog.selection.Any(a => a.traits.Contains<Traits.Mobile>())
&& uog.selection.All( a => a.Owner == Game.LocalPlayer ))
{
if (!Game.IsCellBuildable(dragEnd.ToInt2(), UnitMovementType.Wheel))
return Cursor.MoveBlocked; /* todo: handle non-wheel movement behavior */
{
var umts = uog.selection.Select(a => a.traits.GetOrDefault<Mobile>())
.Where(m => m != null)
.Select(m => m.GetMovementType())
.Distinct();
if (!umts.Any( umt => Game.IsCellBuildable( dragEnd.ToInt2(), umt ) ))
return Cursor.MoveBlocked;
return Cursor.Move;
}