Exemple #1
0
    public static void CheckDynamite(Character init, DynamiteLogic dynamite)
    {
        PackAsset cardAsset = PackAndDiscard.Instance.GetRandomCard();

        PackAndDiscard.Instance.Discard(cardAsset);

        init.RemoveBuff(dynamite);

        if (cardAsset.CardSuit == ECardSuit.Spades && (int)cardAsset.CardRating >= 2 && (int)cardAsset.CardRating < 10)
        {
            GlobalVeriables.Instance.audioSource.clip = dynamite.explosionAC;
            GlobalVeriables.Instance.audioSource.Play();
            PackAndDiscard.Instance.Discard(dynamite);

            for (int j = 0; j < 3; ++j)
            {
                if (!init.IsDead)
                {
                    init.Hit();
                }
            }
        }
        else
        {
            init.NextPlayer.AddBuff(dynamite);
        }
    }
Exemple #2
0
    public static IEnumerator StartNextPlayer()
    {
        GlobalVeriables.CurrentPlayer = GlobalVeriables.CurrentPlayer.NextPlayer;

        GlobalVeriables.CurrentPlayer.StartCoroutine(GlobalVeriables.Instance.CurrentPlayerZone.ShowPlayer(GlobalVeriables.CurrentPlayer.CharacterImage));

        yield return(new WaitWhile(() => GlobalVeriables.Instance.CurrentPlayerZone.isActiveAndEnabled));

        PackAsset dynamite = GlobalVeriables.CurrentPlayer.Buffs.Find(card => card.CardName == ECardName.Dynamite);

        if (dynamite != null)
        {
            DynamiteLogic.CheckDynamite(GlobalVeriables.CurrentPlayer, (DynamiteLogic)dynamite);
        }

        yield return(new WaitWhile(() => GlobalVeriables.Instance.DeadMessageZone.isActiveAndEnabled));

        PackAsset jail    = GlobalVeriables.CurrentPlayer.Buffs.Find(card => card.CardName == ECardName.Jail);
        bool      canMove = true;

        if (jail != null)
        {
            GlobalVeriables.CurrentPlayer.RemoveBuff(jail);
            PackAndDiscard.Instance.Discard(jail);

            canMove = _CheckJail();
        }

        if (canMove)
        {
            if (GlobalVeriables.CurrentPlayer == GlobalVeriables.Instance.Player)
            {
                ((Player)GlobalVeriables.CurrentPlayer).StartMove();
                yield return(new WaitUntil(() => ((Player)GlobalVeriables.CurrentPlayer).EndMoveBttn.isActiveAndEnabled));
            }
            else
            {
                GlobalVeriables.CurrentPlayer.StartCoroutine(((Bot)GlobalVeriables.CurrentPlayer).StartMove());
                yield return(new WaitUntil(() => ((Bot)GlobalVeriables.CurrentPlayer).UsingCards.activeSelf));
            }
        }
    }