Fix IPositionableInfo not inheriting IOccupySpaceInfo

This commit is contained in:
abcdefg30
2017-02-09 13:11:01 +01:00
parent e53724b1de
commit ce97b3a3a2
5 changed files with 6 additions and 7 deletions

View File

@@ -265,7 +265,7 @@ namespace OpenRA.Traits
[RequireExplicitImplementation]
public interface ISelectionBar { float GetValue(); Color GetColor(); bool DisplayWhenEmpty { get; } }
public interface IPositionableInfo : ITraitInfoInterface
public interface IPositionableInfo : IOccupySpaceInfo
{
bool CanEnterCell(World world, Actor self, CPos cell, Actor ignoreActor = null, bool checkTransientActors = true);
}

View File

@@ -21,7 +21,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
public class AircraftInfo : ITraitInfo, IPositionableInfo, IFacingInfo, IOccupySpaceInfo, IMoveInfo, ICruiseAltitudeInfo,
public class AircraftInfo : ITraitInfo, IPositionableInfo, IFacingInfo, IMoveInfo, ICruiseAltitudeInfo,
UsesInit<LocationInit>, UsesInit<FacingInit>
{
public readonly WDist CruiseAltitude = new WDist(1280);

View File

@@ -17,7 +17,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
class CrateInfo : ITraitInfo, IPositionableInfo, IOccupySpaceInfo, Requires<RenderSpritesInfo>
class CrateInfo : ITraitInfo, IPositionableInfo, Requires<RenderSpritesInfo>
{
[Desc("Length of time (in seconds) until the crate gets removed automatically. " +
"A value of zero disables auto-removal.")]

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Traits
}
[Desc("Unit is able to move.")]
public class MobileInfo : ConditionalTraitInfo, IMoveInfo, IPositionableInfo, IOccupySpaceInfo, IFacingInfo,
public class MobileInfo : ConditionalTraitInfo, IMoveInfo, IPositionableInfo, IFacingInfo,
UsesInit<FacingInit>, UsesInit<LocationInit>, UsesInit<SubCellInit>
{
[FieldLoader.LoadUsing("LoadSpeeds", true)]
@@ -381,7 +381,7 @@ namespace OpenRA.Mods.Common.Traits
}
public class Mobile : ConditionalTrait<MobileInfo>, INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, IPositionable, IMove,
IFacing, ISync, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier
IFacing, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier
{
const int AverageTicksBeforePathing = 5;
const int SpreadTicksBeforePathing = 5;

View File

@@ -96,8 +96,7 @@ namespace OpenRA.Mods.Common.Traits
}
var cell = validCells.Random(w.SharedRandom);
var ios = actorRules.TraitInfo<IOccupySpaceInfo>();
var subCell = ios.SharesCell ? w.ActorMap.FreeSubCell(cell) : 0;
var subCell = ip.SharesCell ? w.ActorMap.FreeSubCell(cell) : 0;
w.CreateActor(s.ToLowerInvariant(), new TypeDictionary
{