Example #1
0
        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();
            }
        }
Example #2
0
        public void PickCardFromDeckAfterClick(CardObject card)
        {
            _gm = GameManager.Instance;
            if (!_gm.Waiting)
            {
                StartCoroutine(_gm.StartWaiting(0.2f));

                if (_isDrawThree)
                {
                    PickCardFromDeckDrawThree(card);
                }
                else
                {
                    PickCardFromDeckClassic(card);
                }

                _gm.UpdateMove();
            }
        }