Move Selection into a Trait

This commit is contained in:
Evgeniy S
2019-05-16 16:15:32 +03:00
committed by reaperrr
parent 6723306bb4
commit 3a30b013a5
14 changed files with 55 additions and 33 deletions

View File

@@ -413,6 +413,22 @@ namespace OpenRA.Traits
bool SpatiallyPartitionable { get; }
}
public interface ISelection
{
int Hash { get; }
IEnumerable<Actor> Actors { get; }
void Add(Actor a);
void Remove(Actor a);
bool Contains(Actor a);
void Combine(World world, IEnumerable<Actor> newSelection, bool isCombine, bool isClick);
void Clear();
void DoControlGroup(World world, WorldRenderer worldRenderer, int group, Modifiers mods, int multiTapCount);
void AddToControlGroup(Actor a, int group);
void RemoveFromControlGroup(Actor a);
int? GetControlGroupForActor(Actor a);
}
/// <summary>
/// Indicates target types as defined on <see cref="Traits.ITargetable"/> are present in a <see cref="Primitives.BitSet{T}"/>.
/// </summary>