Pull the master server communication into a ServerTrait

This commit is contained in:
Paul Chote
2010-11-08 16:54:30 +13:00
parent 836b3a598b
commit b77dcd476c
5 changed files with 136 additions and 81 deletions

View File

@@ -7,20 +7,39 @@
* see LICENSE.
*/
#endregion
using System;
namespace OpenRA.Server.Traits
{
// Returns true if order is handled
public interface IInterpretCommand { bool InterpretCommand(Connection conn, string cmd); }
public interface ITick
{
void Tick();
int TickTimeout { get; }
}
public interface INotifySyncLobbyInfo { void LobbyInfoSynced(); }
public interface IStartServer { void ServerStarted(); }
public interface IStartGame { void GameStarted(); }
public interface IClientJoined { void ClientJoined(Connection conn); }
public class DebugServerTrait : IInterpretCommand
public class DebugServerTrait : IInterpretCommand, IStartGame, INotifySyncLobbyInfo
{
public bool InterpretCommand(Connection conn, string cmd)
{
Game.Debug("Server received command from player {1}: {0}".F(cmd, conn.PlayerIndex));
Console.WriteLine("Server received command from player {1}: {0}",cmd, conn.PlayerIndex);
return false;
}
public void GameStarted()
{
Console.WriteLine("GameStarted()");
}
public void LobbyInfoSynced()
{
Console.WriteLine("LobbyInfoSynced()");
}
}
}