public void Run() { var myStrategy = new MyStrategy(); var debugInterface = new DebugInterface(reader, writer); var running = true; while (running) { switch (Model.ServerMessage.ReadFrom(reader)) { case Model.ServerMessage.GetAction message: new Model.ClientMessage.ActionMessage(myStrategy.GetAction(message.PlayerView, message.DebugAvailable ? debugInterface : null)).WriteTo(writer); writer.Flush(); break; case Model.ServerMessage.Finish message: running = false; break; case Model.ServerMessage.DebugUpdate message: myStrategy.DebugUpdate(message.PlayerView, debugInterface); new Model.ClientMessage.DebugUpdateDone().WriteTo(writer); writer.Flush(); break; default: throw new Exception("Unexpected server message"); } } }
public Action GetAction(PlayerView playerView, DebugInterface debugInterface) { throw new System.NotImplementedException(); }
public void DebugUpdate(PlayerView playerView, DebugInterface debugInterface) { debugInterface.Send(new DebugCommand.Clear()); debugInterface.GetState(); }