public void TestValuableTaken() { var valuable = new Mock<IValuable>(); valuable.Setup(valuableWithScore => valuableWithScore.Score).Returns(100); using (var scoreKeeper = new ScoreKeeper()) { var crystalTaken = new CrystalTaken(valuable.Object); Messenger.Default.Send(crystalTaken); Assert.AreEqual(1000, scoreKeeper.CurrentScore); } }
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 void CrystalTaken(CrystalTaken crystalTaken) { this._score += crystalTaken.Crystal.Score; }