private static void PlayerTakesCrystal(Player player, Crystal crystal)
        {
            player.AddEnergy(crystal.Energy);
            var crystalTaken = new CrystalTaken(crystal);

            Messenger.Default.Send(crystalTaken);
            player.CrystalCollected(crystal);
            crystal.SetTaken();
            bool doAnyCrystalsRemain = GlobalServices.GameState.DistinctItemsOfType <Crystal>().Any(c => c.IsExtant);

            if (doAnyCrystalsRemain)
            {
                GlobalServices.SoundPlayer.Play(GameSound.PlayerCollectsCrystal);
            }
            else
            {
                Messenger.Default.Send(new WorldCompleted());
            }
        }
 private static void PlayerEatsFruit(Player player, Fruit fruit)
 {
     player.PlaySound(GameSound.PlayerEatsFruit);
     player.AddEnergy(fruit.Energy);
     fruit.SetTaken();
 }