diff --git a/OpenRA.Game/Network/ReplayConnection.cs b/OpenRA.Game/Network/ReplayConnection.cs index 0942165219..2ead909415 100755 --- a/OpenRA.Game/Network/ReplayConnection.cs +++ b/OpenRA.Game/Network/ReplayConnection.cs @@ -71,51 +71,4 @@ namespace OpenRA.Network public void Dispose() { } } - - class ReplayRecorderConnection : IConnection - { - IConnection inner; - BinaryWriter writer; - - public ReplayRecorderConnection( IConnection inner, FileStream replayFile ) - { - this.inner = inner; - this.writer = new BinaryWriter( replayFile ); - } - - public int LocalClientId { get { return inner.LocalClientId; } } - public ConnectionState ConnectionState { get { return inner.ConnectionState; } } - - public void Send( int frame, List orders ) { inner.Send( frame, orders ); } - public void SendImmediate( List orders ) { inner.SendImmediate( orders ); } - public void SendSync( int frame, byte[] syncData ) { inner.SendSync( frame, syncData ); } - - public void Receive( Action packetFn ) - { - inner.Receive( ( client, data ) => - { - writer.Write( client ); - writer.Write( data.Length ); - writer.Write( data ); - packetFn( client, data ); - } ); - } - - bool disposed; - - public void Dispose() - { - if( disposed ) - return; - - writer.Close(); - inner.Dispose(); - disposed = true; - } - - ~ReplayRecorderConnection() - { - Dispose(); - } - } } diff --git a/OpenRA.Game/Network/ReplayRecorderConnection.cs b/OpenRA.Game/Network/ReplayRecorderConnection.cs new file mode 100644 index 0000000000..0d36322d25 --- /dev/null +++ b/OpenRA.Game/Network/ReplayRecorderConnection.cs @@ -0,0 +1,66 @@ +#region Copyright & License Information +/* + * Copyright 2007-2011 The OpenRA Developers (see AUTHORS) + * This file is part of OpenRA, which is free software. It is made + * available to you under the terms of the GNU General Public License + * as published by the Free Software Foundation. For more information, + * see COPYING. + */ +#endregion + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; + +namespace OpenRA.Network +{ + class ReplayRecorderConnection : IConnection + { + IConnection inner; + BinaryWriter writer; + + public ReplayRecorderConnection( IConnection inner, FileStream replayFile ) + { + this.inner = inner; + this.writer = new BinaryWriter( replayFile ); + } + + public int LocalClientId { get { return inner.LocalClientId; } } + public ConnectionState ConnectionState { get { return inner.ConnectionState; } } + + public void Send( int frame, List orders ) { inner.Send( frame, orders ); } + public void SendImmediate( List orders ) { inner.SendImmediate( orders ); } + public void SendSync( int frame, byte[] syncData ) { inner.SendSync( frame, syncData ); } + + public void Receive( Action packetFn ) + { + inner.Receive( ( client, data ) => + { + writer.Write( client ); + writer.Write( data.Length ); + writer.Write( data ); + packetFn( client, data ); + } ); + } + + bool disposed; + + public void Dispose() + { + if( disposed ) + return; + + writer.Close(); + inner.Dispose(); + disposed = true; + } + + ~ReplayRecorderConnection() + { + Dispose(); + } + } +} + diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index 892ebda478..fc1750c113 100755 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -59,7 +59,6 @@ - 3.5 @@ -206,6 +205,7 @@ +