using System.Net.Sockets; using System.Collections.Generic; using WorldOfPeacecraft; namespace WorldOfPeacecraft { public class Backend : IBackend { private Sender Send; private Receiver Rec; private Parser Parse; private TcpClient Client; private Dictionary Dragons; private Dictionary Players; private Map Map; private Buffer SenderBuffer; private IGui Gui; public Backend (IGui gui) { Gui = gui; Dragons = new Dictionary (); Players = new Dictionary (); Client = new TcpClient ("localhost", 9999); Buffer receiverBuffer = new Buffer(10000); SenderBuffer = new Buffer(100); Parse = new Parser (this, receiverBuffer); Rec = new Receiver (Client, receiverBuffer); Send = new Sender (Client, SenderBuffer); SenderBuffer.AddLine ("get:map"); SenderBuffer.AddLine ("get:ents"); } public IEnumerable GetDragons () { return Dragons.Values; } public IEnumerable GetPlayers () { return Players.Values; } public void removeDragon (Dragon dragon) { Dragons.Remove (dragon.GetId ()); } public void removePlayer (Player player) { Players.Remove (player.GetId ()); } public void clearPlayers () { Players.Clear (); } public void clearDragons () { Dragons.Clear (); } public Player getPlayer (int playerId) { return Players[playerId]; } public Dragon getDragon (int dragonId) { return Dragons[dragonId]; } public Map getMapObject () { return Map; } public void SetDragon (Dragon dragon) { Dragons [dragon.GetId ()] = dragon; } public void SetPlayer (Player player) { Players [player.GetId ()] = player; } public void SetMap (Map map) { this.Map = map; } public ITile[,] GetMap () { if (Map == null) { return null; } return Map.GetTiles (); } public void sendCommand (string command) { } public void sendChat (string message) { } public void RefreshGui() { Gui.PerformRefresh(); } public void Stop() { Parse.Stop (); Send.Stop (); Rec.Stop (); System.Windows.Forms.Application.Exit (); } } }