Improve code style
This commit is contained in:
parent
f21f511147
commit
21cf96ab5e
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
public class Packet
|
public class Packet
|
||||||
{
|
{
|
||||||
public readonly PacketType PacketType;
|
public readonly PacketType PacketType;
|
||||||
|
|
||||||
public Packet(PacketType type)
|
protected Packet(PacketType type)
|
||||||
{
|
{
|
||||||
PacketType = type;
|
PacketType = type;
|
||||||
}
|
}
|
||||||
|
@ -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))
|
|
||||||
{
|
|
||||||
packets.Add(ConvertPacket(packet));
|
|
||||||
}
|
|
||||||
|
|
||||||
return packets;
|
return (from JObject packet in (JArray) JsonConvert.DeserializeObject(jsons) select ConvertPacket(packet)).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Packet ConvertPacket(JObject json)
|
private 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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user