public static void Send(Helpers.TcpGamespeed speed) { Logging.Info("[Server] Sending GameSpeed to all clients"); foreach (Helpers.User user in Users) { server.Send(user.ID, speed.Serialize()); } }
private static void OnGamespeedChange(Helpers.TcpGamespeed tcpspeed) { Logging.Info("gamespeedchange..."); int type = (int)tcpspeed.Data.GetValue("type"); int speed = (int)tcpspeed.Data.GetValue("speed"); if (type == 0) { GameSettings.GameSpeed = speed; //HUD.Instance.GameSpeed = (int)speed; } OnServerChatRecieved(new Helpers.TcpServerChat($"The gamespeed has been changed to {speed}", Helpers.TcpServerChatType.Info)); }
static void OnGamespeedChange(int connectionid, Helpers.TcpGamespeed speed) { if ((int)speed.Data.GetValue("type") == 0) { Logging.Info($"[Server] Sending updated GameSpeed to all clients => {(int)speed.Data.GetValue("speed")} usercount: {Users.Count}"); foreach (Helpers.User u in Users) { Logging.Info($"[Server] Sent GameSpeed to connection {u.ID}"); Send(u.ID, speed); } } else { Logging.Warn($"[Server] User {connectionid} can't change gamespeed if type is 1 (vote) because votes aren't included yet"); } }
/// <summary> /// Gets called whenever a message (other than connect or disconnect) gets received /// </summary> /// <param name="msg">The Telepathy.Message sent by the server.getNextMessage() function</param> static void Receive(Telepathy.Message msg) { //string datastr = Encoding.UTF8.GetString(msg.data); //Logging.Info($"[Server] From Connection {msg.connectionId}: " + datastr); Logging.Info($"[Server] Data from Connection {msg.connectionId}: {msg.data.Length} bytes"); //Handle TCPLogin //Helpers.TcpLogin tcplogin = XML.From<Helpers.TcpLogin>(datastr); Helpers.TcpLogin tcplogin = Helpers.TcpLogin.Deserialize(msg.data); if (tcplogin != null && tcplogin.Header == "login") { OnUserLogin(msg.connectionId, tcplogin); } //Handle TCPChat //Helpers.TcpChat tcpchat = XML.From<Helpers.TcpChat>(datastr); Helpers.TcpChat tcpchat = Helpers.TcpChat.Deserialize(msg.data); if (tcpchat != null && tcpchat.Header == "chat") { OnUserChat(msg.connectionId, tcpchat); } //Handle TCPRequests //Helpers.TcpRequest tcprequest = XML.From<Helpers.TcpRequest>(datastr); Helpers.TcpRequest tcprequest = Helpers.TcpRequest.Deserialize(msg.data); if (tcprequest != null && tcprequest.Header == "request") { string req = (string)tcprequest.Data.GetValue("request"); if (req == "gameworld") { OnRequestGameWorld(msg.connectionId); } else if (req == "userlist") { OnRequestUserList(msg.connectionId); } } Helpers.TcpGamespeed tcpspeed = Helpers.TcpGamespeed.Deserialize(msg.data); if (tcpspeed != null && tcpspeed.Header == "gamespeed") { OnGamespeedChange(msg.connectionId, tcpspeed); } }
static void Receive(byte[] data) { Logging.Info("[Client] Data from Server: " + data.Length + " bytes"); //Handle TcpResponse Helpers.TcpResponse tcpresponse = Helpers.TcpResponse.Deserialize(data); if (tcpresponse != null && tcpresponse.Header == "response") { OnServerResponse(tcpresponse); } //Handle TcpServerChat Helpers.TcpServerChat tcpServerChat = Helpers.TcpServerChat.Deserialize(data); if (tcpServerChat != null && tcpServerChat.Header == "serverchat") { OnServerChatRecieved(tcpServerChat); } //Handle TcpChat Helpers.TcpChat tcpchat = Helpers.TcpChat.Deserialize(data); if (tcpchat != null && tcpchat.Header == "chat") { OnChatReceived(tcpchat); } //Handle GameWorld Helpers.TcpGameWorld tcpworld = Helpers.TcpGameWorld.Deserialize(data); if (tcpworld != null && tcpworld.Header == "gameworld") { OnGameWorldReceived(tcpworld); } //Handle Gamespeed Helpers.TcpGamespeed tcpspeed = Helpers.TcpGamespeed.Deserialize(data); if (tcpspeed != null && tcpspeed.Header == "gamespeed") { OnGamespeedChange(tcpspeed); } }
public static void Send(int clientid, Helpers.TcpGamespeed speed) { Logging.Info("[Server] Sending GameSpeed to client " + clientid); server.Send(clientid, speed.Serialize()); }
public static void Send(Helpers.TcpGamespeed speed) { Logging.Info("[Client] Sending gamespeed"); client.Send(speed.Serialize()); }