fixed #1257 - predict stance changes on the client

This commit is contained in:
Chris Forbes
2011-11-04 19:09:07 +13:00
parent bc5efa3fc5
commit 5a029e337a
2 changed files with 8 additions and 2 deletions

View File

@@ -129,10 +129,14 @@ namespace OpenRA.Mods.RA.Widgets
var stances = (UnitStance[])Enum.GetValues(typeof(UnitStance));
var nextStance = stances.Concat(stances).SkipWhile(s => s != actor.Second.stance).Skip(1).First();
var nextStance = stances.Concat(stances).SkipWhile(s => s != actor.Second.predictedStance).Skip(1).First();
PerformKeyboardOrderOnSelection(a =>
new Order("SetUnitStance", a, false) { TargetLocation = new int2((int)nextStance, 0) });
{
var at = a.TraitOrDefault<AutoTarget>();
if (at != null) at.predictedStance = nextStance;
return new Order("SetUnitStance", a, false) { TargetLocation = new int2((int)nextStance, 0) };
});
Game.Debug( "Unit stance set to: {0}".F(nextStance) );