public void Update() { List <Player> newPlayers; List <Food> newFood; CheckSurroundingCells(out newPlayers, out newFood); for (int i = 0; i < ContainedPlayers.Count; i++) { Player player = ContainedPlayers[i]; if (!PlayerIsIn(player)) { ContainedPlayers.Remove(player); OnPlayerLeft?.Invoke(this, new PlayerLeftEventArgs(ContainedPlayers, ContainedFood, player.Id)); } } }
public void Clear() { ContainedPlayers.Clear(); ContainedFood.Clear(); }
public void AddPlayer(Player player) { ContainedPlayers.Add(player); player.OnPlayerDied += (s, ea) => RemovePlayer(ea.DeadPlayer); }
private void RemovePlayer(Player player) { ContainedPlayers.Remove(player); }