Example #1
0
 /// <summary>
 /// Установить игрока на позицию
 /// </summary>
 /// <param name="player"></param>
 public void SetPLayer(PlayerViewModel player)
 {
     if (SelectedBox != null)
     {
         SelectedBox.SetPlayer(player);
         MovementInField = false;
         SelectedBox     = null;
         ResetHighlight();
     }
 }
Example #2
0
        /// <summary>
        /// Действия при выборе игрового бокса
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void PlBoxVM_BoxSelected(object sender, EventArgs e)
        {
            PlayBoxViewModel newSelectedBox = sender as PlayBoxViewModel;

            MovementInField = true;

            if (SelectedBox == null)
            {
                SelectedBox = newSelectedBox;
                OnBoxSelected();

                if (MovementInField)
                {
                    if (newSelectedBox.IsPlayerPresent)
                    {
                        LocalHighlightPositions();
                    }
                    else
                    {
                        SelectedBox = null;
                    }
                }
            }
            else
            {
                if (newSelectedBox.IsPlayerPresent)
                {
                    if (newSelectedBox != SelectedBox)
                    {
                        PlayerViewModel plNSB = newSelectedBox.WithdrawPlayer();
                        PlayerViewModel plSB  = SelectedBox.WithdrawPlayer();
                        newSelectedBox.SetPlayer(plSB);
                        SelectedBox.SetPlayer(plNSB);
                        ResetHighlight();
                        SelectedBox = null;
                    }
                }
                else
                {
                    PlayerViewModel plSB = SelectedBox.WithdrawPlayer();
                    newSelectedBox.SetPlayer(plSB);
                    ResetHighlight();
                    SelectedBox = null;
                }
            }
        }