Merge pull request #3527 from pchote/spectator-color-fix

Spectator fixes
This commit is contained in:
Chris Forbes
2013-07-05 17:30:53 -07:00
2 changed files with 6 additions and 3 deletions

View File

@@ -255,10 +255,11 @@ namespace OpenRA.Server
if (client.Slot != null)
SyncClientToPlayerReference(client, Map.Players[client.Slot]);
var mods = handshake.Mods;
else
client.Color = HSLColor.FromRGB(255, 255, 255);
// Check that the client has compatible mods
var mods = handshake.Mods;
var validMod = mods.All(m => m.Contains('@')) && //valid format
mods.Count() == Game.CurrentMods.Count() && //same number
mods.Select(m => Pair.New(m.Split('@')[0], m.Split('@')[1])).All(kv => Game.CurrentMods.ContainsKey(kv.First));

View File

@@ -174,7 +174,9 @@ namespace OpenRA.Widgets
world.Selection.DoControlGroup(world, e.KeyName[0] - '0', e.Modifiers, e.MultiTapCount);
return true;
}
else if (e.KeyName == Game.Settings.Keys.PauseKey)
// Disable pausing for spectators
else if (e.KeyName == Game.Settings.Keys.PauseKey && world.LocalPlayer != null)
world.SetPauseState(!world.Paused);
}
return false;