ServerOrder no longer transmits a playerId.

This commit is contained in:
Bob
2010-01-26 17:11:37 +13:00
parent 99e59e8fb2
commit 44b5855e59
5 changed files with 12 additions and 19 deletions

View File

@@ -135,7 +135,7 @@ namespace OpenRA.Server
}; };
DispatchOrdersToClient(c, 0, 0, DispatchOrdersToClient(c, 0, 0,
new ServerOrder(0, "FileChunk", new ServerOrder("FileChunk",
FieldSaver.Save(chunk).Nodes.WriteToString()).Serialize()); FieldSaver.Save(chunk).Nodes.WriteToString()).Serialize());
} }
@@ -350,12 +350,12 @@ namespace OpenRA.Server
static void SendChatTo(Connection conn, string text) static void SendChatTo(Connection conn, string text)
{ {
DispatchOrdersToClient(conn, 0, 0, DispatchOrdersToClient(conn, 0, 0,
new ServerOrder(-1, "Chat", text).Serialize()); new ServerOrder("Chat", text).Serialize());
} }
static void SendChat(Connection asConn, string text) static void SendChat(Connection asConn, string text)
{ {
DispatchOrders(null, 0, new ServerOrder(-1, "Chat", text).Serialize()); DispatchOrders(null, 0, new ServerOrder("Chat", text).Serialize());
} }
static void InterpretServerOrder(Connection conn, ServerOrder so) static void InterpretServerOrder(Connection conn, ServerOrder so)
@@ -383,7 +383,7 @@ namespace OpenRA.Server
Console.WriteLine("All players are ready. Starting the game!"); Console.WriteLine("All players are ready. Starting the game!");
GameStarted = true; GameStarted = true;
DispatchOrders(null, 0, DispatchOrders(null, 0,
new ServerOrder(0, "StartGame", "").Serialize()); new ServerOrder("StartGame", "").Serialize());
} }
} }
break; break;
@@ -483,7 +483,7 @@ namespace OpenRA.Server
clientData["GlobalSettings"] = FieldSaver.Save(lobbyInfo.GlobalSettings); clientData["GlobalSettings"] = FieldSaver.Save(lobbyInfo.GlobalSettings);
DispatchOrders(null, 0, DispatchOrders(null, 0,
new ServerOrder(0, "SyncInfo", clientData.WriteToString()).Serialize()); new ServerOrder("SyncInfo", clientData.WriteToString()).Serialize());
} }
} }
} }

View File

@@ -5,13 +5,11 @@ namespace OpenRA.Server
{ {
class ServerOrder class ServerOrder
{ {
public readonly int PlayerId;
public readonly string Name; public readonly string Name;
public readonly string Data; public readonly string Data;
public ServerOrder(int playerId, string name, string data) public ServerOrder(string name, string data)
{ {
PlayerId = playerId;
Name = name; Name = name;
Data = data; Data = data;
} }
@@ -27,11 +25,10 @@ namespace OpenRA.Server
case 0xfe: case 0xfe:
{ {
var playerID = r.ReadInt32();
var name = r.ReadString(); var name = r.ReadString();
var data = r.ReadString(); var data = r.ReadString();
return new ServerOrder(playerID, name, data); return new ServerOrder(name, data);
} }
default: default:
@@ -45,7 +42,6 @@ namespace OpenRA.Server
var bw = new BinaryWriter(ms); var bw = new BinaryWriter(ms);
bw.Write((byte)0xfe); bw.Write((byte)0xfe);
bw.Write(PlayerId);
bw.Write(Name); bw.Write(Name);
bw.Write(Data); bw.Write(Data);
return ms.ToArray(); return ms.ToArray();

View File

@@ -8,6 +8,6 @@ namespace OpenRa.FileFormats
public static class ProtocolVersion public static class ProtocolVersion
{ {
// you *must* increment this whenever you make an incompatible protocol change // you *must* increment this whenever you make an incompatible protocol change
public static readonly int Version = 1; public static readonly int Version = 2;
} }
} }

View File

@@ -47,7 +47,6 @@ namespace OpenRa
var ret = new MemoryStream(); var ret = new MemoryStream();
var w = new BinaryWriter(ret); var w = new BinaryWriter(ret);
w.Write((byte)0xfe); w.Write((byte)0xfe);
w.Write(Subject == null ? uint.MaxValue : (uint)Player.Index);
w.Write(OrderString); w.Write(OrderString);
w.Write(TargetString); w.Write(TargetString);
return ret.ToArray(); return ret.ToArray();
@@ -109,13 +108,10 @@ namespace OpenRa
case 0xfe: case 0xfe:
{ {
var playerID = r.ReadUInt32();
var name = r.ReadString(); var name = r.ReadString();
var data = r.ReadString(); var data = r.ReadString();
var player = (playerID == uint.MaxValue) ? null : LookupPlayer( world, playerID ).PlayerActor; return new Order( name, null, data ) { IsImmediate = true };
return new Order( name, player, data ) { IsImmediate = true };
} }
default: default:

View File

@@ -38,8 +38,9 @@ namespace OpenRa.Network
default: default:
{ {
foreach (var t in order.Subject.traits.WithInterface<IResolveOrder>()) if( !order.IsImmediate )
t.ResolveOrder(order.Subject, order); foreach (var t in order.Subject.traits.WithInterface<IResolveOrder>())
t.ResolveOrder(order.Subject, order);
break; break;
} }
} }