Improve code style

This commit is contained in:
Ilya 2021-02-11 12:44:28 +03:00
parent f21f511147
commit 21cf96ab5e
8 changed files with 44 additions and 81 deletions

View File

@ -1,12 +1,10 @@
using System; namespace MafiaCommon.Packets
namespace MafiaCommon.Packets
{ {
public class ConnectPacket : Packet public class ConnectPacket : Packet
{ {
public readonly String Name; public readonly string Name;
public ConnectPacket(String name) : base(PacketType.Connect) public ConnectPacket(string name) : base(PacketType.Connect)
{ {
Name = name; Name = name;
} }

View File

@ -4,7 +4,7 @@
{ {
public readonly PacketType PacketType; public readonly PacketType PacketType;
public Packet(PacketType type) protected Packet(PacketType type)
{ {
PacketType = type; PacketType = type;
} }

View File

@ -1,79 +1,48 @@
using System; using System.Collections.Generic;
using System.Collections.Generic; using System.Linq;
using System.Text; using System.Text;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
namespace MafiaCommon.Packets namespace MafiaCommon.Packets
{ {
public class PacketConverter public static class PacketConverter
{ {
public static byte[] toBytes(Packet packet) public static byte[] ToBytes(Packet packet)
{ {
return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(packet)+","); return Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(packet)+",");
} }
public static List<Packet> toPacket(String jsons) public static List<Packet> ToPacket(string jsons)
{ {
List<Packet> packets = new List<Packet>();
jsons = jsons.Substring(0, jsons.Length - 1); jsons = jsons.Substring(0, jsons.Length - 1);
jsons = "[" + jsons + "]"; jsons = "[" + jsons + "]";
foreach (JObject packet in (JArray) JsonConvert.DeserializeObject(jsons))
{ return (from JObject packet in (JArray) JsonConvert.DeserializeObject(jsons) select ConvertPacket(packet)).ToList();
packets.Add(ConvertPacket(packet));
} }
return packets; private static Packet ConvertPacket(JObject json)
}
public static Packet ConvertPacket(JObject json)
{ {
PacketType packetType = json.GetValue("PacketType") var packetType = json.GetValue("PacketType")
.ToObject<PacketType>(); .ToObject<PacketType>();
Packet packet = null;
switch (packetType) Packet packet = packetType switch
{ {
case PacketType.ServerShutdown: PacketType.ServerShutdown => json.ToObject<ServerShutdownPacket>(),
packet = json.ToObject<ServerShutdownPacket>(); PacketType.Connect => json.ToObject<ConnectPacket>(),
break; PacketType.Welcome => json.ToObject<WelcomePacket>(),
case PacketType.Connect: PacketType.Disconnect => json.ToObject<DisconnectPacket>(),
packet = json.ToObject<ConnectPacket>(); PacketType.PlayerConnected => json.ToObject<PlayerConnectedPacket>(),
break; PacketType.PlayerDisconnected => json.ToObject<PlayerDisconnectedPacket>(),
case PacketType.Welcome: PacketType.MessageReceivePacket => json.ToObject<MessageReceivePacket>(),
packet = json.ToObject<WelcomePacket>(); PacketType.MessageSendPacket => json.ToObject<MessageSendPacket>(),
break; PacketType.GameStartPacket => json.ToObject<GameStartPacket>(),
case PacketType.Disconnect: PacketType.EndGame => json.ToObject<EndGamePacket>(),
packet = json.ToObject<DisconnectPacket>(); PacketType.DisconnectPlayer => json.ToObject<DisconnectPacket>(),
break; PacketType.Vote => json.ToObject<VotePacket>(),
case PacketType.PlayerConnected: PacketType.GameStateChanged => json.ToObject<GameStageChangedPacket>(),
packet = json.ToObject<PlayerConnectedPacket>(); _ => null
break; };
case PacketType.PlayerDisconnected:
packet = json.ToObject<PlayerDisconnectedPacket>();
break;
case PacketType.MessageReceivePacket:
packet = json.ToObject<MessageReceivePacket>();
break;
case PacketType.MessageSendPacket:
packet = json.ToObject<MessageSendPacket>();
break;
case PacketType.GameStartPacket:
packet = json.ToObject<GameStartPacket>();
break;
case PacketType.EndGame:
packet = json.ToObject<EndGamePacket>();
break;
case PacketType.DisconnectPlayer:
packet = json.ToObject<DisconnectPacket>();
break;
case PacketType.Vote:
packet = json.ToObject<VotePacket>();
break;
case PacketType.GameStateChanged:
packet = json.ToObject<GameStageChangedPacket>();
break;
}
return packet; return packet;
} }

View File

@ -1,12 +1,10 @@
using System; namespace MafiaCommon.Packets
namespace MafiaCommon.Packets
{ {
public class ServerShutdownPacket : Packet public class ServerShutdownPacket : Packet
{ {
public readonly String Reason; public readonly string Reason;
public ServerShutdownPacket(String reason) : base(PacketType.ServerShutdown) public ServerShutdownPacket(string reason) : base(PacketType.ServerShutdown)
{ {
Reason = reason; Reason = reason;
} }

View File

@ -1,14 +1,12 @@
using System; namespace MafiaCommon.Packets
namespace MafiaCommon.Packets
{ {
public class WelcomePacket : Packet public class WelcomePacket : Packet
{ {
public readonly String ServerName; public readonly string ServerName;
public readonly int Players; public readonly int Players;
public readonly int MaxPlayers; public readonly int MaxPlayers;
public WelcomePacket(String serverName, int players, int maxPlayers) : base(PacketType.Welcome) public WelcomePacket(string serverName, int players, int maxPlayers) : base(PacketType.Welcome)
{ {
ServerName = serverName; ServerName = serverName;
Players = players; Players = players;

View File

@ -47,7 +47,7 @@ namespace MafiaGame
return; return;
} }
_socket.Send(PacketConverter.toBytes(new ConnectPacket(Settings.Config().Nick))); _socket.Send(PacketConverter.ToBytes(new ConnectPacket(Settings.Config().Nick)));
_thread.IsBackground = true; _thread.IsBackground = true;
_thread.Start(); _thread.Start();
connected = true; connected = true;
@ -55,20 +55,20 @@ namespace MafiaGame
public void SendMessage(ChatType chatType, string text) public void SendMessage(ChatType chatType, string text)
{ {
_socket.Send(PacketConverter.toBytes(new MessageSendPacket(chatType, text))); _socket.Send(PacketConverter.ToBytes(new MessageSendPacket(chatType, text)));
} }
public void Disconnect() public void Disconnect()
{ {
connected = false; connected = false;
_socket.Send(PacketConverter.toBytes(new DisconnectPlayerPacket())); _socket.Send(PacketConverter.ToBytes(new DisconnectPlayerPacket()));
_thread.Interrupt(); _thread.Interrupt();
_socket.Close(); _socket.Close();
} }
public void Vote(int id) public void Vote(int id)
{ {
_socket.Send(PacketConverter.toBytes(new VotePacket(id))); _socket.Send(PacketConverter.ToBytes(new VotePacket(id)));
} }
private void serverListener() private void serverListener()
@ -105,7 +105,7 @@ namespace MafiaGame
{ {
Console.WriteLine(builder.ToString()); Console.WriteLine(builder.ToString());
List<Packet> packets = PacketConverter.toPacket(builder.ToString()); List<Packet> packets = PacketConverter.ToPacket(builder.ToString());
foreach (Packet packet in packets) foreach (Packet packet in packets)
{ {
WorkPacket(packet); WorkPacket(packet);

View File

@ -31,7 +31,7 @@ namespace MafiaServer
builder.Append(Encoding.UTF8.GetString(data, 0, bytes)); builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
} while (_socket.Available > 0); } while (_socket.Available > 0);
var packet = PacketConverter.toPacket(builder.ToString())[0]; var packet = PacketConverter.ToPacket(builder.ToString())[0];
if (packet.GetType() == typeof(ConnectPacket)) if (packet.GetType() == typeof(ConnectPacket))
{ {
PlayerName = ((ConnectPacket) packet).Name; PlayerName = ((ConnectPacket) packet).Name;
@ -47,7 +47,7 @@ namespace MafiaServer
{ {
try try
{ {
_socket.Send(PacketConverter.toBytes(packet)); _socket.Send(PacketConverter.ToBytes(packet));
} }
catch (Exception e) catch (Exception e)
{ {
@ -77,7 +77,7 @@ namespace MafiaServer
Console.WriteLine(builder.ToString()); Console.WriteLine(builder.ToString());
List<Packet> packets = PacketConverter.toPacket(builder.ToString()); List<Packet> packets = PacketConverter.ToPacket(builder.ToString());
foreach (Packet packet in packets) foreach (Packet packet in packets)
{ {
WorkPacket(packet); WorkPacket(packet);

View File

@ -39,7 +39,7 @@ namespace MafiaServer
{ {
if (socket.Connected) if (socket.Connected)
{ {
socket.Send(PacketConverter.toBytes(new ServerShutdownPacket(reason))); socket.Send(PacketConverter.ToBytes(new ServerShutdownPacket(reason)));
} }
} }
} }