/// <summary> /// Check all last cards in every game column and in additional columns. /// If card suitables set property AllowDrop = true /// </summary> private void CheckOnAllowDrop(Card card) { Card lastCard; Data.Name cardName; Data.Color cardColor; if (card.Place == CardPlace.GameColumn) { cardName = GameColumns.ColGame[(int)GameColumns.GetGameColIndex(card)].GetCardMovingNameInColumn(card); cardColor = GameColumns.ColGame[(int)GameColumns.GetGameColIndex(card)].GetCardColorInColumn(card); } else { cardName = card.Data.CardName; cardColor = card.Data.CardColor; } //game columns for (int index = 0; index < GameColumns.ColGame.Length; index++) { //set allowDrop = false for every card in column GameColumns.ColGame[index].SetAllowDrop(); //set allowDrop = false for image in this column GameImages.GameColImages[index].AllowDrop = false; //get last card lastCard = GameColumns.ColGame[index].GetLastCard(); if (lastCard != null) { Data.Name lastCardName = GameColumns.ColGame[index].GetCardReceivingNameInColumn(lastCard); Data.Color lastCardColor = GameColumns.ColGame[index].GetCardColorInColumn(lastCard); if (lastCardName != Data.Name.Joker) { if (cardName == Data.Name.Joker || (cardName == lastCardName - 1 && cardColor != lastCardColor)) { lastCard.AllowDrop = true; } } } else { if (cardName == Data.Name.Joker || cardName == Data.Name.King) { GameImages.GameColImages[index].AllowDrop = true; } } } lastCard = null; //if move 1 card if (card.Place != CardPlace.GameColumn || GameColumns.ColGame[(int)GameColumns.GetGameColIndex(card)].GetLastCard().Equals(card)) { //result columns for (int index = 0; index < GameColumns.ColResult.Length; index++) { //set allowDrop = false for every card in column GameColumns.ColResult[index].SetAllowDrop(); //set allowDrop = false for image in this column GameImages.ResultColImages[index].AllowDrop = false; //get last card lastCard = GameColumns.ColResult[index].GetLastCard(); if (lastCard != null) { if (card.Data.CardLear == lastCard.Data.CardLear && card.Data.CardName == lastCard.Data.CardName + 1) { lastCard.AllowDrop = true; } } else { if (card.Data.CardName == Data.Name.Ace) { GameImages.ResultColImages[index].AllowDrop = true; } } } lastCard = null; //additional columns for (int index = 0; index < GameColumns.ColAdditional.Length; index++) { //set allowDrop = false for every card in column GameColumns.ColAdditional[index].SetAllowDrop(); //set allowDrop = false for image in this column GameImages.AdditionalColImages[index].AllowDrop = false; //get last card lastCard = GameColumns.ColAdditional[index].GetLastCard(); if (lastCard != null) { if (card.Data.CardName == GameColumns.ColAdditional[index].CardName) { lastCard.AllowDrop = true; } } else { if (card.Data.CardName == GameColumns.ColAdditional[index].CardName) { GameImages.AdditionalColImages[index].AllowDrop = true; } } } } }
return(new SimpleInfo(Data.Name, Data.Text));
/// <summary> /// Check all last cards in every game column and in additional columns. /// If card suitables set property AllowDrop = true /// </summary> private void CheckOnAllowDrop(ICard card) { ICard lastCard; Data.Name cardName; Data.Color cardColor; cardName = card.Place == CardPlace.GameColumn ? _game.Columns.ColGame[(int)_game.Columns.GetGameColIndex(card)].GetCardMovingNameInColumn(card) : card.Data.CardName; cardColor = card.Place == CardPlace.GameColumn ? _game.Columns.ColGame[(int)_game.Columns.GetGameColIndex(card)].GetCardColorInColumn(card) : card.Data.CardColor; //set allowDrop = false for every card in game _imageViewer.SetAllowDrop(); //game columns for (int index = 0; index < _game.Columns.ColGame.Length; index++) { //get last card in the column lastCard = _game.Columns.ColGame[index].GetLastCard(); // if last card exists if (lastCard != null) { Data.Name lastCardName = _game.Columns.ColGame[index].GetCardReceivingNameInColumn(lastCard); Data.Color lastCardColor = _game.Columns.ColGame[index].GetCardColorInColumn(lastCard); if (lastCardName != Data.Name.Joker) { (lastCard as CardImage).AllowDrop = cardName == Data.Name.Joker || (cardName == lastCardName - 1 && cardColor != lastCardColor); } } else { _imageViewer.GameColImages[index].AllowDrop = cardName == Data.Name.Joker || cardName == Data.Name.King; } } lastCard = null; //if move 1 card if (card.Place != CardPlace.GameColumn || _game.Columns.ColGame[(int)_game.Columns.GetGameColIndex(card)].GetLastCard().Equals(card)) { //result columns for (int index = 0; index < _game.Columns.ColResult.Length; index++) { //get last card lastCard = _game.Columns.ColResult[index].GetLastCard(); if (lastCard != null) { if (card.Data.CardLear == lastCard.Data.CardLear && card.Data.CardName == lastCard.Data.CardName + 1) { (lastCard as CardImage).AllowDrop = true; } } else { _imageViewer.ResultColImages[index].AllowDrop = card.Data.CardName == Data.Name.Ace; } } lastCard = null; //additional columns for (int index = 0; index < _game.Columns.ColAdditional.Length; index++) { //get last card lastCard = _game.Columns.ColAdditional[index].GetLastCard(); if (lastCard != null) { if (card.Data.CardName == _game.Columns.ColAdditional[index].CardName) { (lastCard as CardImage).AllowDrop = true; } } else { if (card.Data.CardName == _game.Columns.ColAdditional[index].CardName) { _imageViewer.AdditionalColImages[index].AllowDrop = true; } } } } }