Some fixes

This commit is contained in:
Ilya 2021-02-23 18:42:40 +03:00
parent b0ef768853
commit 10f45f6cca
5 changed files with 36 additions and 46 deletions

View File

@ -75,7 +75,7 @@
<TextBox Grid.Column="1" Grid.Row="3" x:Name="IpBox" FontSize="30"></TextBox> <TextBox Grid.Column="1" Grid.Row="3" x:Name="IpBox" FontSize="30"></TextBox>
<Button Grid.Column="1" Grid.Row="5" Click="ConnectToServer_OnClick" x:Name="IpInputGuiConnect"> <Button Grid.Column="1" Grid.Row="5" Click="ConnectToServer_OnClick" x:Name="IpInputGuiConnect">
<Viewbox> <Viewbox>
<TextBlock Text="Подключится" FontSize="25"></TextBlock> <TextBlock Text="Подключиться" FontSize="25"></TextBlock>
</Viewbox> </Viewbox>
</Button> </Button>
<Button Grid.Column="1" Grid.Row="7" Click="Back_OnClick" x:Name="IpInputGuiBack"> <Button Grid.Column="1" Grid.Row="7" Click="Back_OnClick" x:Name="IpInputGuiBack">

View File

@ -181,14 +181,7 @@ namespace MafiaGame
public void ShowGameEnd(bool isWon, List<PlayerRole> playerRoles) public void ShowGameEnd(bool isWon, List<PlayerRole> playerRoles)
{ {
if (isWon) GameEndScreenWon.Text = isWon ? "Ты победил!" : "Ты проиграл!";
{
GameEndScreenWon.Text = "Ты победил!";
}
else
{
GameEndScreenWon.Text = "Ты проиграл!";
}
string text = ""; string text = "";
@ -269,8 +262,7 @@ namespace MafiaGame
GameDaySelect.Items.Clear(); GameDaySelect.Items.Clear();
foreach (Player player in players) foreach (Player player in players)
{ {
ListBoxItem item = new ListBoxItem(); ListBoxItem item = new ListBoxItem {Content = player.Id.ToString() + ") " + player.Name};
item.Content = player.Id.ToString() + ") " + player.Name;
GameDaySelect.Items.Add(item); GameDaySelect.Items.Add(item);
} }
if (role == Role.Died) if (role == Role.Died)
@ -279,14 +271,7 @@ namespace MafiaGame
} }
else else
{ {
if (voting) GameDayHotBar.Text = voting ? "Голосуй и молись" : "Обсуждай и думай";
{
GameDayHotBar.Text = "Голосуй и молись";
}
else
{
GameDayHotBar.Text = "Обсуждай и думай";
}
} }
GameDay.Visibility = Visibility.Visible; GameDay.Visibility = Visibility.Visible;

View File

@ -13,10 +13,10 @@ namespace MafiaGame
{ {
public class ServerConnection public class ServerConnection
{ {
private String _host = "localhost"; private readonly String _host = "localhost";
private int _port = 25743; private readonly int _port = 25743;
private Socket _socket; private readonly Socket _socket;
private Thread _thread; private readonly Thread _thread;
private bool _breakFlag; private bool _breakFlag;
private bool _connected; private bool _connected;
@ -77,13 +77,12 @@ namespace MafiaGame
while (!_breakFlag) while (!_breakFlag)
{ {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
int bytes = 0;
byte[] data = new byte[256]; byte[] data = new byte[256];
try try
{ {
do do
{ {
bytes = _socket.Receive(data); var bytes = _socket.Receive(data);
builder.Append(Encoding.UTF8.GetString(data, 0, bytes)); builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
} while (_socket.Available > 0); } while (_socket.Available > 0);
} }
@ -125,13 +124,17 @@ namespace MafiaGame
MainWindow.Instance.QueueOnline.Text = ((WelcomePacket) packet).Players + "/" + MainWindow.Instance.QueueOnline.Text = ((WelcomePacket) packet).Players + "/" +
((WelcomePacket) packet).MaxPlayers; ((WelcomePacket) packet).MaxPlayers;
MainWindow.Instance.ShowGameQueueScreen(); MainWindow.Instance.ShowGameQueueScreen();
Party party = new Party(); Party party = new Party
party.ID = _host + ":" + _port; {
party.Size = ((WelcomePacket) packet).Players; ID = _host + ":" + _port,
party.Max = ((WelcomePacket) packet).MaxPlayers; Size = ((WelcomePacket) packet).Players,
Secrets secrets = new Secrets(); Max = ((WelcomePacket) packet).MaxPlayers
secrets.JoinSecret = _host + ":" + _port + "/join"; };
secrets.SpectateSecret = _host + ":" + _port + "/spectate"; Secrets secrets = new Secrets
{
JoinSecret = _host + ":" + _port + "/join",
SpectateSecret = _host + ":" + _port + "/spectate"
};
App.Instance.GetRpcClient().SetPresence(new RichPresence() App.Instance.GetRpcClient().SetPresence(new RichPresence()
{ {
State = ((WelcomePacket) packet).ServerName, State = ((WelcomePacket) packet).ServerName,
@ -239,8 +242,10 @@ namespace MafiaGame
MainWindow.Instance.ShowVotingActive("Ты Дон, выбери кого убить!"); MainWindow.Instance.ShowVotingActive("Ты Дон, выбери кого убить!");
foreach (Player player in players) foreach (Player player in players)
{ {
ListBoxItem item = new ListBoxItem(); ListBoxItem item = new ListBoxItem
item.Content = player.Id.ToString() + ") " + player.Name; {
Content = player.Id.ToString() + ") " + player.Name
};
MainWindow.Instance.GameVotingActiveSelect.Items.Add(item); MainWindow.Instance.GameVotingActiveSelect.Items.Add(item);
} }
}); });
@ -253,8 +258,10 @@ namespace MafiaGame
MainWindow.Instance.ShowVotingActive("Ты Мафия, выбери кого убить!"); MainWindow.Instance.ShowVotingActive("Ты Мафия, выбери кого убить!");
foreach (Player player in players) foreach (Player player in players)
{ {
ListBoxItem item = new ListBoxItem(); ListBoxItem item = new ListBoxItem
item.Content = player.Id.ToString() + ") " + player.Name; {
Content = player.Id.ToString() + ") " + player.Name
};
MainWindow.Instance.GameVotingActiveSelect.Items.Add(item); MainWindow.Instance.GameVotingActiveSelect.Items.Add(item);
} }
}); });
@ -296,9 +303,7 @@ namespace MafiaGame
case Role.Died: case Role.Died:
Application.Current.Dispatcher.Invoke(() => Application.Current.Dispatcher.Invoke(() =>
{ {
String rol; var rol = ((GameStageChangedPacket)packet).Role == Role.Citizen ? "Мирный житель" : "Мёртв";
if (((GameStageChangedPacket)packet).Role == Role.Citizen) rol = "Мирный житель";
else rol = "Мёртв";
MainWindow.Instance.ShowVotingPassive("Ты " +rol+ "!"); MainWindow.Instance.ShowVotingPassive("Ты " +rol+ "!");
}); });
break; break;
@ -306,15 +311,15 @@ namespace MafiaGame
case Role.Don: case Role.Don:
Application.Current.Dispatcher.Invoke(() => Application.Current.Dispatcher.Invoke(() =>
{ {
String rol; var rol = ((GameStageChangedPacket)packet).Role == Role.Mafia ? "Мафия" : "Дон";
if (((GameStageChangedPacket)packet).Role == Role.Mafia) rol = "Мафия";
else rol = "Дон";
MainWindow.Instance.GameVotingActiveSelect.Items.Clear(); MainWindow.Instance.GameVotingActiveSelect.Items.Clear();
MainWindow.Instance.ShowVotingActive("Ты "+rol+", выбери кого убить!"); MainWindow.Instance.ShowVotingActive("Ты "+rol+", выбери кого убить!");
foreach (Player player in players) foreach (Player player in players)
{ {
ListBoxItem item = new ListBoxItem(); ListBoxItem item = new ListBoxItem
item.Content = player.Id.ToString() + ") " + player.Name; {
Content = player.Id.ToString() + ") " + player.Name
};
MainWindow.Instance.GameVotingActiveSelect.Items.Add(item); MainWindow.Instance.GameVotingActiveSelect.Items.Add(item);
} }
}); });

View File

@ -23,11 +23,10 @@ namespace MafiaServer
{ {
_socket = socket; _socket = socket;
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
int bytes = 0;
byte[] data = new byte[256]; byte[] data = new byte[256];
do do
{ {
bytes = _socket.Receive(data); var bytes = _socket.Receive(data);
builder.Append(Encoding.UTF8.GetString(data, 0, bytes)); builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
} while (_socket.Available > 0); } while (_socket.Available > 0);

View File

@ -17,6 +17,7 @@ namespace MafiaServer
while (!_breakFlag) while (!_breakFlag)
{ {
String input = Console.ReadLine(); String input = Console.ReadLine();
if(input == null) continue;
switch (input.Split(" ")[0].ToLower()) switch (input.Split(" ")[0].ToLower())
{ {
case "stop": case "stop":