Move death worker to WorkDeath()
This commit is contained in:
parent
8d62442107
commit
4e721afba1
@ -1,6 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using MafiaCommon.Packets;
|
using MafiaCommon.Packets;
|
||||||
using MafiaCommon;
|
using MafiaCommon;
|
||||||
|
|
||||||
@ -56,6 +55,36 @@ namespace MafiaServer
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void WorkDeath(PlayerSocketWorker player)
|
||||||
|
{
|
||||||
|
switch (player.Role)
|
||||||
|
{
|
||||||
|
case Role.Don:
|
||||||
|
_mafia.Remove(player);
|
||||||
|
if (_mafia.Count == 0)
|
||||||
|
{
|
||||||
|
foreach (PlayerSocketWorker p in _players)
|
||||||
|
{
|
||||||
|
player.sendPacket(new EndGamePacket(true,_playerRolesAtStart));
|
||||||
|
}
|
||||||
|
|
||||||
|
isStarted = false;
|
||||||
|
_gameState = GameState.NotStarted;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_mafia[0].Role = Role.Don;
|
||||||
|
if (_gameState == GameState.VotingNight)
|
||||||
|
{
|
||||||
|
_mafia[0].sendPacket(new MessageReceivePacket(ChatType.Active,true,"System","Дон покинул игру, ты новый дон!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
player.Role = Role.Died;
|
||||||
|
}
|
||||||
|
|
||||||
private void PlayerOnOnPlayerVoteEvent(PlayerSocketWorker sender, int id)
|
private void PlayerOnOnPlayerVoteEvent(PlayerSocketWorker sender, int id)
|
||||||
{
|
{
|
||||||
if (_votesRemain.Contains(sender))
|
if (_votesRemain.Contains(sender))
|
||||||
@ -114,7 +143,7 @@ namespace MafiaServer
|
|||||||
_gameState = GameState.Day;
|
_gameState = GameState.Day;
|
||||||
|
|
||||||
PlayerSocketWorker killed = _players.FindPlayerById(selId);
|
PlayerSocketWorker killed = _players.FindPlayerById(selId);
|
||||||
killed.Role = Role.Died;
|
WorkDeath(killed);
|
||||||
foreach (PlayerSocketWorker player in _players)
|
foreach (PlayerSocketWorker player in _players)
|
||||||
{
|
{
|
||||||
player.sendPacket(new GameStageChangedPacket(GameState.Day));
|
player.sendPacket(new GameStageChangedPacket(GameState.Day));
|
||||||
@ -130,28 +159,7 @@ namespace MafiaServer
|
|||||||
{
|
{
|
||||||
player.sendPacket(new PlayerDisconnectedPacket(true,sender.Id,_players.Count,Settings.Config().MaxPlayers));
|
player.sendPacket(new PlayerDisconnectedPacket(true,sender.Id,_players.Count,Settings.Config().MaxPlayers));
|
||||||
}
|
}
|
||||||
if (sender.Role == Role.Don)
|
WorkDeath(sender);
|
||||||
{
|
|
||||||
_mafia.Remove(sender);
|
|
||||||
if (_mafia.Count == 0)
|
|
||||||
{
|
|
||||||
foreach (PlayerSocketWorker player in _players)
|
|
||||||
{
|
|
||||||
player.sendPacket(new EndGamePacket(true,_playerRolesAtStart));
|
|
||||||
}
|
|
||||||
|
|
||||||
isStarted = false;
|
|
||||||
_gameState = GameState.NotStarted;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_mafia[0].Role = Role.Don;
|
|
||||||
if (_gameState == GameState.VotingNight)
|
|
||||||
{
|
|
||||||
_mafia[0].sendPacket(new MessageReceivePacket(ChatType.Active,true,"System","Дон покинул игру, ты новый дон!"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Start()
|
public void Start()
|
||||||
@ -250,28 +258,7 @@ namespace MafiaServer
|
|||||||
{
|
{
|
||||||
player.sendPacket(new PlayerDisconnectedPacket(true,sender.Id,_players.Count,Settings.Config().MaxPlayers));
|
player.sendPacket(new PlayerDisconnectedPacket(true,sender.Id,_players.Count,Settings.Config().MaxPlayers));
|
||||||
}
|
}
|
||||||
if (sender.Role == Role.Don)
|
WorkDeath(sender);
|
||||||
{
|
|
||||||
_mafia.Remove(sender);
|
|
||||||
if (_mafia.Count == 0)
|
|
||||||
{
|
|
||||||
foreach (PlayerSocketWorker player in _players)
|
|
||||||
{
|
|
||||||
player.sendPacket(new EndGamePacket(true,_playerRolesAtStart));
|
|
||||||
}
|
|
||||||
|
|
||||||
isStarted = false;
|
|
||||||
_gameState = GameState.NotStarted;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_mafia[0].Role = Role.Don;
|
|
||||||
if (_gameState == GameState.VotingNight)
|
|
||||||
{
|
|
||||||
_mafia[0].sendPacket(new MessageReceivePacket(ChatType.Active,true,"System","Дон покинул игру, ты новый дон!"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PlayerOnOnPlayerSendMessageEvent(PlayerSocketWorker sender, ChatType chatType, string text)
|
private void PlayerOnOnPlayerSendMessageEvent(PlayerSocketWorker sender, ChatType chatType, string text)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user