Example #1
0
    IEnumerator PlayerSticksCardCorrectRoutine(PlayerModule player1, PlayerModule player2, CardSlot cardSlot, CardData card)
    {
        isBusy = true;

        yield return(0);

        cardSlot.Card.SetInfo(card);
        cardSlot.Card.Align(DumpPile.TopCard.transform, player1);

        AudioControl.Instance.PlayInPosition("fp_deal_cards_justwhoosh", cardSlot.transform.position);

        while (cardSlot.Card.isLerping)
        {
            yield return(0);
        }

        DumpPile.PushCard(cardSlot.Card.Data);

        DestroyCard(cardSlot.Card);
        cardSlot.Card = null;

        GameObject particlesObj = ResourcesLoader.Instance.GetRecycledObject("GoodParticles");

        particlesObj.transform.position = DumpPile.transform.position;

        AudioControl.Instance.PlayInPosition("fp_play_button", particlesObj.transform.position);

        yield return(new WaitForSeconds(1f));

        yield return(0);

        if (player1 == player2 || (player1 != player2 && player1.GetNextMannedSlot() == null))
        {
            CurrentSticker = "";
        }
        else
        {
            UnsetMarkers();

            if (player1.isPlayer)
            {
                foreach (CardSlot slot in player1.CardSlots)
                {
                    if (slot.Card != null)
                    {
                        SetMarker(slot.Card.transform);
                    }
                }
            }
        }

        isBusy = false;
    }