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 readonly String Name;
public readonly string Name;
public ConnectPacket(String name) : base(PacketType.Connect)
public ConnectPacket(string name) : base(PacketType.Connect)
{
Name = name;
}

View File

@ -4,7 +4,7 @@
{
public readonly PacketType PacketType;
public Packet(PacketType type)
protected Packet(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 Newtonsoft.Json;
using Newtonsoft.Json.Linq;
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)+",");
}
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 + "]";
foreach (JObject packet in (JArray) JsonConvert.DeserializeObject(jsons))
{
packets.Add(ConvertPacket(packet));
return (from JObject packet in (JArray) JsonConvert.DeserializeObject(jsons) select ConvertPacket(packet)).ToList();
}
return packets;
}
public static Packet ConvertPacket(JObject json)
private static Packet ConvertPacket(JObject json)
{
PacketType packetType = json.GetValue("PacketType")
var packetType = json.GetValue("PacketType")
.ToObject<PacketType>();
Packet packet = null;
switch (packetType)
Packet packet = packetType switch
{
case PacketType.ServerShutdown:
packet = json.ToObject<ServerShutdownPacket>();
break;
case PacketType.Connect:
packet = json.ToObject<ConnectPacket>();
break;
case PacketType.Welcome:
packet = json.ToObject<WelcomePacket>();
break;
case PacketType.Disconnect:
packet = json.ToObject<DisconnectPacket>();
break;
case PacketType.PlayerConnected:
packet = json.ToObject<PlayerConnectedPacket>();
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;
}
PacketType.ServerShutdown => json.ToObject<ServerShutdownPacket>(),
PacketType.Connect => json.ToObject<ConnectPacket>(),
PacketType.Welcome => json.ToObject<WelcomePacket>(),
PacketType.Disconnect => json.ToObject<DisconnectPacket>(),
PacketType.PlayerConnected => json.ToObject<PlayerConnectedPacket>(),
PacketType.PlayerDisconnected => json.ToObject<PlayerDisconnectedPacket>(),
PacketType.MessageReceivePacket => json.ToObject<MessageReceivePacket>(),
PacketType.MessageSendPacket => json.ToObject<MessageSendPacket>(),
PacketType.GameStartPacket => json.ToObject<GameStartPacket>(),
PacketType.EndGame => json.ToObject<EndGamePacket>(),
PacketType.DisconnectPlayer => json.ToObject<DisconnectPacket>(),
PacketType.Vote => json.ToObject<VotePacket>(),
PacketType.GameStateChanged => json.ToObject<GameStageChangedPacket>(),
_ => null
};
return packet;
}

View File

@ -1,12 +1,10 @@
using System;
namespace MafiaCommon.Packets
namespace MafiaCommon.Packets
{
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;
}

View File

@ -1,14 +1,12 @@
using System;
namespace MafiaCommon.Packets
namespace MafiaCommon.Packets
{
public class WelcomePacket : Packet
{
public readonly String ServerName;
public readonly string ServerName;
public readonly int Players;
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;
Players = players;

View File

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

View File

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

View File

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