// ========================================================================
        // =============================== UPDATES ================================
        // ========================================================================

        //private void RenderPlayers()
        //{
        //    for (int i = 0; i < GameState.Players.Count; i++)
        //    {
        //        var player = GameState.Players[i];
        //        if (!player.IsDead)
        //        {
        //            Vector2f playerBarPos = new Vector2f(player.Position.X, player.Position.Y - 40);
        //            player.PlayerBar.Position = playerBarPos;
        //            player.UpdateSpeed();
        //            player.TranslateFromSpeed();
        //            player.Update();

        //            UpdatePickupables(player);

        //            GameWindow.Draw(player);
        //            GameWindow.Draw(player.PlayerBar);

        //            if (player.Weapon != null)
        //            {
        //                GameWindow.Draw(player.Weapon);
        //                DrawProjectiles(player);
        //                if (player.Weapon.LaserSight != null) GameWindow.Draw(player.Weapon.LaserSprite);
        //            }
        //        }
        //    }
        //}
        //private void RenderPlayers()
        //{
        //    var iter = GameState.PlayerRep.GetIterator();
        //    while(iter.HasNext())
        //    {
        //        Player player = (Player)iter.Next();
        //        if(!player.IsDead)
        //        {
        //            Vector2f playerBarPos = new Vector2f(player.Position.X, player.Position.Y - 40);
        //            player.PlayerBar.Position = playerBarPos;
        //            player.UpdateSpeed();
        //            player.TranslateFromSpeed();
        //            player.Update();

        //            UpdatePickupables(player);

        //            GameWindow.Draw(player);
        //            GameWindow.Draw(player.PlayerBar);

        //            if (player.Weapon != null)
        //            {
        //                GameWindow.Draw(player.Weapon);
        //                DrawProjectiles(player);
        //                if (player.Weapon.LaserSight != null) GameWindow.Draw(player.Weapon.LaserSprite);
        //            }
        //        }
        //    }
        //}
        private void RenderPlayers()
        {
            var iter = GameState.PlayerRep.GetIterator(500, MainPlayer);

            while (iter.HasNext())
            {
                Player player = (Player)iter.Next();
                if (!player.IsDead)
                {
                    GameWindow.Draw(player);
                    GameWindow.Draw(player.PlayerBar);

                    if (player.Weapon != null)
                    {
                        GameWindow.Draw(player.Weapon);
                        DrawProjectiles(player);
                        if (player.Weapon.LaserSight != null)
                        {
                            GameWindow.Draw(player.Weapon.LaserSprite);
                        }
                    }
                }
            }


            iter = GameState.PlayerRep.GetIterator();
            while (iter.HasNext())
            {
                Player   player       = (Player)iter.Next();
                Vector2f playerBarPos = new Vector2f(player.Position.X, player.Position.Y - 40);
                player.PlayerBar.Position = playerBarPos;
                if (!container.Show)
                {
                    player.UpdateSpeed();
                }
                player.TranslateFromSpeed();
                player.Update();

                UpdatePickupables(player);
            }
        }