public void TurnDeck() { if (!_gm.Waiting) { StartCoroutine(_gm.StartWaiting(1f)); _gm.AddMoveToUndo(new TurnDeckMove()); for (int i = deckDropColumns.Length - 1; i >= 0; i--) { var column = deckDropColumns[i]; for (int j = column.Cards.Count - 1; j >= 0; j--) { var card = column.Cards[j]; var destination = _gm.GetCardDestinationPosition(transform, 0); StartCoroutine(GameManager.MoveCardsOnBoard(card, destination, 500)); card.Flip(true); card.transform.SetParent(transform); card.TriggerActive = true; } column.Cards.RemoveAll(card => card != null); } _dropTransformCount = 0; _gm.UpdateScore(-10000); _gm.UpdateMove(); } }
private void PickCardFromDeck(CardObject card) { _dropTransformCount %= 3; var deckDrop = deckDropColumns[_dropTransformCount]; ManagePreviousColumnCardTrigger(false); deckDrop.AddCards(new[] { card }); _dropTransformCount++; var destination = _gm.GetCardDestinationPosition(deckDrop.transform, 0); StartCoroutine(GameManager.MoveCardsOnBoard(card, destination, 500)); GameManager.Instance.AddMoveToUndo(new DeckMove(deckDrop, new[] { card })); }
private void GenerateHint(Column toColumn, IEnumerable <CardObject> cards) { var hintCards = new List <CardObject>(); InstantiateHintCards(hintCards, cards); for (int i = 0; i < hintCards.Count; i++) { var card = hintCards[i]; var destination = GameManager.Instance.GetCardDestinationPosition(toColumn.transform, toColumn.Spacing, 1 + i); StartCoroutine(GameManager.MoveCardsOnBoard(card, destination, 500, DestroyHintCard)); } }
private void MoveDroppedCard(float speed, int formIndex, int toIndex) { if (deckDropColumns[formIndex].transform.childCount > 0) { var card = deckDropColumns[formIndex].transform.GetChild(0).GetComponent <CardObject>(); var destination = _gm.GetCardDestinationPosition(deckDropColumns[toIndex].transform, 0); deckDropColumns[toIndex].AddCards(new[] { card }); deckDropColumns[formIndex].RemoveCards(new[] { card }); StartCoroutine(GameManager.MoveCardsOnBoard(card, destination, speed)); if (card.TriggerActive) { card.TriggerActive = false; } } }