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); 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) public int? GetControlGroupForActor(Actor a)
{ {
return controlGroups.Where(g => g.Value.Contains(a)) return controlGroups.Where(g => g.Value.Contains(a))

View File

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