/// <summary> /// Установить игрока на позицию /// </summary> /// <param name="player"></param> public void SetPLayer(PlayerViewModel player) { if (SelectedBox != null) { SelectedBox.SetPlayer(player); MovementInField = false; SelectedBox = null; ResetHighlight(); } }
/// <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; } } }