separated 'index' from 'palette' in player

This commit is contained in:
Chris Forbes
2009-11-01 23:22:08 +13:00
parent e62a0bc717
commit 90ba576cc6
4 changed files with 7 additions and 5 deletions

View File

@@ -43,7 +43,7 @@ namespace OpenRa.Game
Rules.LoadRules(mapName);
for (int i = 0; i < 8; i++)
players.Add(i, new Player(i, string.Format("Multi{0}", i), Race.Allies));
players.Add(i, new Player(i, i, string.Format("Multi{0}", i), Race.Allies));
localPlayerIndex = localPlayer;

View File

@@ -42,7 +42,7 @@ namespace OpenRa.Game
{
var ret = new MemoryStream();
var w = new BinaryWriter(ret);
w.Write((uint)Player.Palette | 0x80000000u);
w.Write((uint)Player.Index | 0x80000000u);
w.Write((byte)0xFF);
w.Write(OrderString);
w.Write(Subject == null ? 0xFFFFFFFF : Subject.ActorID);
@@ -61,7 +61,7 @@ namespace OpenRa.Game
{
if ((first >> 31) == 0) return null;
var player = Game.players.Where(x => x.Value.Palette == (first & 0x7FFFFFFF)).First().Value;
var player = Game.players.Where(x => x.Value.Index == (first & 0x7FFFFFFF)).First().Value;
switch (r.ReadByte())
{
case 0xFF:

View File

@@ -36,7 +36,7 @@ namespace OpenRa.Game
if( savingReplay != null )
savingReplay.Write( frameNumber );
var allOrders = players.SelectMany(p => p.OrdersForFrame(frameNumber)).OrderBy(o => o.Player.Palette);
var allOrders = players.SelectMany(p => p.OrdersForFrame(frameNumber)).OrderBy(o => o.Player.Index);
foreach (var order in allOrders)
{
UnitOrders.ProcessOrder(order);

View File

@@ -9,9 +9,11 @@ namespace OpenRa.Game
public int Kills;
public string PlayerName;
public Race Race;
public readonly int Index;
public Player( int palette, string playerName, Race race )
public Player( int index, int palette, string playerName, Race race )
{
this.Index = index;
this.Palette = palette;
this.PlayerName = playerName;
this.Race = race;