コード例 #1
0
        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));
                }
            }
        }
コード例 #2
0
 public void Clear()
 {
     ContainedPlayers.Clear();
     ContainedFood.Clear();
 }
コード例 #3
0
 public void AddPlayer(Player player)
 {
     ContainedPlayers.Add(player);
     player.OnPlayerDied += (s, ea) => RemovePlayer(ea.DeadPlayer);
 }
コード例 #4
0
 private void RemovePlayer(Player player)
 {
     ContainedPlayers.Remove(player);
 }