check if a passenger is appropriate for reverse-enter-transport

This commit is contained in:
Chris Forbes
2010-09-16 18:07:42 +12:00
parent 7dc3aee4a2
commit f456e41a45

View File

@@ -9,6 +9,7 @@
#endregion #endregion
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using OpenRA.Mods.RA.Activities; using OpenRA.Mods.RA.Activities;
using OpenRA.Traits; using OpenRA.Traits;
@@ -36,8 +37,13 @@ namespace OpenRA.Mods.RA
if (mi.Button == MouseButton.Right && underCursor == self) if (mi.Button == MouseButton.Right && underCursor == self)
return new Order("Unload", self); return new Order("Unload", self);
if( mi.Button == MouseButton.Right && underCursor != null && underCursor.Owner == self.Owner ) if (mi.Button == MouseButton.Right && underCursor != null && underCursor.Owner == self.Owner)
return new Order("EnterTransport", underCursor, self); {
var pi = underCursor.Info.Traits.GetOrDefault<PassengerInfo>();
var ci = self.Info.Traits.Get<CargoInfo>();
if (pi != null && ci.Types.Contains(pi.CargoType))
return new Order("EnterTransport", underCursor, self);
}
return null; return null;
} }