Exemple #1
0
        public void ShouldCallShootForEveryNewShot()
        {
            PlayerState state = new PlayerState();
            state.NewShots = new List<Shot>();
            state.NewShots.Add(new Shot(Vector2.Zero, new Vector2(1, 2)));
            state.NewShots.Add(new Shot(Vector2.Zero, new Vector2(3, 4)));

            state.RefreshPlayerValuesFromState(player);

            player.AssertWasCalled(me => me.Shoot(new Vector2(1, 2)));
            player.AssertWasCalled(me => me.Shoot(new Vector2(3, 4)));
        }
Exemple #2
0
        public void CanRefreshNetworkPlayerObjectWithPlayerState()
        {
            player.Weapons.Shots.Add(new Shot());
            PlayerState state = new PlayerState();
            state.Health = 98;
            state.Status = PlayerStatus.Alive;
            state.Position = new Vector2(4, 8);
            state.NewShots = new List<Shot>();
            // Add 2 new Shot objects:
            state.NewShots.Add(new Shot(Vector2.One, Vector2.UnitX));
            state.NewShots.Add(new Shot(Vector2.UnitY, Vector2.Zero));
            state.Score = new PlayerScore() { Deaths = 3, Kills = 20 };

            state.RefreshPlayerValuesFromState(player);

            Assert.AreEqual(98, player.Health);
            Assert.AreEqual(PlayerStatus.Alive, state.Status);
            player.AssertWasCalled(me => me.UpdatePositionFromNetwork(Arg<Vector2>.Is.Equal(state.Position), Arg<float>.Is.Anything));
            Assert.AreEqual(3, player.PlayerScore.Deaths);
            Assert.AreEqual(20, player.PlayerScore.Kills);
        }
Exemple #3
0
        public void ResetsPendingStateWhenItIsAchieved()
        {
            player.Status = PlayerStatus.Alive;
            player.PendingStatus = PlayerStatus.Dead;
            PlayerState state = new PlayerState();
            state.Status = PlayerStatus.Alive;

            state.RefreshPlayerValuesFromState(player);
            Assert.AreEqual(PlayerStatus.Dead, player.PendingStatus);

            state.Status = PlayerStatus.Dead;
            state.RefreshPlayerValuesFromState(player);
            Assert.IsNull(player.PendingStatus);
        }