Make control group hotkeys configurable

- Split control groups management to its own interface
- Add hotkeys for selecting, creating, adding to and combining with control groups
- Add a ControlGroups widget to manage the player interaction
This commit is contained in:
Ivaylo Draganov
2021-09-14 22:54:45 +03:00
committed by abcdefg30
parent 04b456d6c2
commit 7a93b9ea8c
31 changed files with 598 additions and 137 deletions

View File

@@ -477,10 +477,25 @@ namespace OpenRA.Traits
void Clear();
bool RolloverContains(Actor a);
void SetRollover(IEnumerable<Actor> actors);
void DoControlGroup(World world, WorldRenderer worldRenderer, int group, Modifiers mods, int multiTapCount);
}
public interface IControlGroupsInfo : ITraitInfoInterface
{
string[] Groups { get; }
}
public interface IControlGroups
{
string[] Groups { get; }
void SelectControlGroup(int group);
void CreateControlGroup(int group);
void AddSelectionToControlGroup(int group);
void CombineSelectionWithControlGroup(int group);
void AddToControlGroup(Actor a, int group);
void RemoveFromControlGroup(Actor a);
int? GetControlGroupForActor(Actor a);
IEnumerable<Actor> GetActorsInControlGroup(int group);
}
/// <summary>