MGame.KillPlayer C# (CSharp) Method

KillPlayer() private method

private KillPlayer ( MPlayer, player ) : void
player MPlayer,
return void
    private void KillPlayer(MPlayer player)
    {
        player.isDead = true;

        effectLayer.ShowTowerExplosionForTower(player.tower);
        player.tower.RemoveFromContainer();

        _towers.Remove(player.tower);

        for(int b = 0; b< player.beasts.Count; b++)
        {
            MBeast beast = player.beasts[b];
            if(beast.health > 0)
            {
                effectLayer.ShowBeastExplosionForBeast(beast);
                RemoveBeast(beast);
            }
        }

        int remainingPlayers = 0;
        MPlayer remainingPlayer = null;
        for(int p = 0; p<_players.Count; p++)
        {
            if(!_players[p].isDead)
            {
                remainingPlayers++;
                remainingPlayer = _players[p];
            }
        }

        if(remainingPlayers == 1)
        {
            _winningPlayer = remainingPlayer;

            FLabel winLabel;

            if(_winningPlayer.isHuman)
            {
                winLabel  = new FLabel("Cubano","YOU WIN!");
                FSoundManager.PlaySound("WinGame",1.0f);
            }
            else
            {
                winLabel  = new FLabel("Cubano","YOU LOSE!");
                FSoundManager.PlaySound("LoseGame",1.0f);
            }

            container.AddChild(winLabel);

            winLabel.scale = 0.8f;

            Go.to (winLabel,6.0f,new TweenConfig().floatProp("scale",1.0f).onComplete(HandleWinComplete));
            page.backButton.label.text = "AGAIN?";

        }
        else if(player.isHuman)
        {
            ShowNote("YOU LOSE!\nPRESS BACK TO TRY AGAIN", 5.0f);
            page.backButton.label.text = "AGAIN?";
            FSoundManager.PlaySound("LoseGame",1.0f);
        }
        else
        {
            ShowNote (player.name.ToUpper()+" WAS ELIMINATED!", 5.0f);
            FSoundManager.PlaySound("LoseGame",1.0f);
        }
    }