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(); }