diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index 8971986b7f..32bd6bf229 100644 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -224,20 +224,6 @@ namespace OpenRA.Traits public interface IDefaultVisibility { bool IsVisible(Actor self, Player byPlayer); } public interface IVisibilityModifier { bool IsVisible(Actor self, Player byPlayer); } - public interface IOccupySpaceInfo : ITraitInfoInterface - { - IReadOnlyDictionary OccupiedCells(ActorInfo info, CPos location, SubCell subCell = SubCell.Any); - bool SharesCell { get; } - } - - public interface IOccupySpace - { - WPos CenterPosition { get; } - CPos TopLeft { get; } - Pair[] OccupiedCells(); - } - - public enum SubCell { Invalid = int.MinValue, Any = int.MinValue / 2, FullCell = 0, First = 1 } public interface IActorMap { IEnumerable GetActorsAt(CPos a); @@ -282,6 +268,21 @@ namespace OpenRA.Traits [RequireExplicitImplementation] public interface ISelectionBar { float GetValue(); Color GetColor(); bool DisplayWhenEmpty { get; } } + public interface IOccupySpaceInfo : ITraitInfoInterface + { + IReadOnlyDictionary OccupiedCells(ActorInfo info, CPos location, SubCell subCell = SubCell.Any); + bool SharesCell { get; } + } + + public interface IOccupySpace + { + WPos CenterPosition { get; } + CPos TopLeft { get; } + Pair[] OccupiedCells(); + } + + public enum SubCell { Invalid = int.MinValue, Any = int.MinValue / 2, FullCell = 0, First = 1 } + public interface IPositionableInfo : IOccupySpaceInfo { bool CanEnterCell(World world, Actor self, CPos cell, Actor ignoreActor = null, bool checkTransientActors = true);