MCV no longer loses controlgroup when transforming

This commit is contained in:
huwpascoe
2014-10-16 01:39:42 +01:00
parent 2e0daeb4cf
commit 15fa152bc3
2 changed files with 9 additions and 0 deletions

View File

@@ -99,6 +99,12 @@ namespace OpenRA
Combine(world, groupActors, mods.HasModifier(Modifiers.Shift), false);
}
public void AddToControlGroup(Actor a, int group)
{
if (!controlGroups[group].Contains(a))
controlGroups[group].Add(a);
}
public int? GetControlGroupForActor(Actor a)
{
return controlGroups.Where(g => g.Value.Contains(a))

View File

@@ -43,6 +43,7 @@ namespace OpenRA.Mods.RA.Activities
nt.OnTransform(self);
var selected = w.Selection.Contains(self);
var controlgroup = w.Selection.GetControlGroupForActor(self);
self.Destroy();
foreach (var s in Sounds)
@@ -81,6 +82,8 @@ namespace OpenRA.Mods.RA.Activities
if (selected)
w.Selection.Add(w, a);
if (controlgroup.HasValue)
w.Selection.AddToControlGroup(a, controlgroup.Value);
});
return this;