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());
            }
        }
Beispiel #3
0
 private void CrystalTaken(CrystalTaken crystalTaken)
 {
     this._score += crystalTaken.Crystal.Score;
 }