Exemplo n.º 1
0
        public void TestHandleClickedWhenTwoPlayersAreLocked()
        {
            // Arrange
            player1.Tagged = false;
            player1.Locked = false;
            player2.Tagged = false;
            player2.Locked = false;

            var pCardEvent = new ClickedPCardEvent()
            {
                ClickedPlayer = player2,
                Modifier      = ButtonModifier.Control
            };

            var pCardEvent2 = new ClickedPCardEvent()
            {
                ClickedPlayer = player1,
                Modifier      = ButtonModifier.Control
            };

            // Action
            App.Current.EventsBroker.Publish(pCardEvent);
            App.Current.EventsBroker.Publish(pCardEvent2);

            // Assert
            Assert.IsTrue(player1.Tagged, "Player 1 should be tagged");
            Assert.IsTrue(player1.Locked, "Player 1 should be locked");
            Assert.IsTrue(player2.Tagged, "Player 2 should be tagged");
            Assert.IsTrue(player2.Locked, "Player 2 should be locked");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Handles when a Participant Card is clicked.
        /// </summary>
        /// <param name="e">Event.</param>
        protected void HandleClickedPCardEvent(ClickedPCardEvent e)
        {
            if (e.ClickedPlayer != null)
            {
                if (e.Modifier == ButtonModifier.Control)
                {
                    e.ClickedPlayer.Tagged = !e.ClickedPlayer.Locked;
                    e.ClickedPlayer.Locked = !e.ClickedPlayer.Locked;
                }
                else
                {
                    if (!e.ClickedPlayer.Locked)
                    {
                        e.ClickedPlayer.Tagged = !e.ClickedPlayer.Tagged;
                    }
                }
            }

            // Without the Shift modifier, unselect the rest of players that are not locked.
            if (e.Modifier != ButtonModifier.Shift)
            {
                foreach (PlayerVM player in project.Players)
                {
                    if (player != e.ClickedPlayer && !player.Locked)
                    {
                        player.Tagged = false;
                    }
                }
            }

            // Right now we don't care about selections and moving pcards
        }
Exemplo n.º 3
0
        public void TestHandleClickedWhenPlayerIsTagged()
        {
            // Arrange
            player2.Tagged = false;
            player2.Locked = false;
            var pCardEvent = new ClickedPCardEvent()
            {
                ClickedPlayer = player2,
                Modifier      = ButtonModifier.None
            };

            // Action
            App.Current.EventsBroker.Publish(pCardEvent);

            // Assert
            Assert.IsTrue(player2.Tagged, "Player 2 should be tagged");
            Assert.IsFalse(player2.Locked, "Player 2 should not be locked");
        }