public override void BeginRound() { World.Instance.Start(); gameStatus = GameStatus.InProgress; //siec? List<PlayerHealthData> pld = new List<PlayerHealthData>(); for (int i = 0; i < World.Instance.Players.Count; i++) { PlayerHealthData phd = new PlayerHealthData(); phd.PlayerId = World.Instance.Players[i].NetworkId; phd.PlayerHealth = 100; pld.Add(phd); } serverNetworkLayer.UpdatePlayerHealthAndTeamScore(pld, new List<TeamData>()); serverNetworkLayer.NewRound(); }
protected override void OnPlayerKilled(Player player) { List<PlayerHealthData> pld = new List<PlayerHealthData>(); PlayerHealthData phd = new PlayerHealthData(); phd.PlayerId = player.NetworkId; phd.PlayerHealth = 0; pld.Add(phd); serverNetworkLayer.UpdatePlayerHealthAndTeamScore(pld, new List<TeamData>()); bool allDead = true; if (player.CharacterClass.GameTeam == GameTeam.Assassins) { for (int i = 0; i < World.Instance.AssassinPlayers.Count; i++) { if (World.Instance.AssassinPlayers[i].IsAlive) allDead = false; } } else { for (int i = 0; i < World.Instance.KnightPlayers.Count; i++) { if (World.Instance.KnightPlayers[i].IsAlive) allDead = false; } } if (allDead) { EndRound(player.CharacterClass.GameTeam); BeginRound(); } }