Esempio n. 1
0
        /**
         * Play the effect of the card
         */
        public void PlayCard(BasicCard card, GameContext context)
        {
            //create and apply all the effect of the card
            foreach (CardEffectData effectData in card.effectsData)
            {
                CardEffect effect = CreateEffect(effectData.GetEffectType());
                effect.ApplyEffect(effectData, context);
            }

            //Une fois que les effets ont été appliqués, on lance les actions
            GameSequencer.Instance.ExecuteActions(context);

            //on met à jour les infos des cartes affichées
            GameManager.Instance.UpdateCardDataDisplay();

            //on indique le nombre de tour que va jouer le RingMaster
            //on check les possibles modificateurs
            if (BuffManager.Instance.isStickyFingersActivate)
            {
                TimelineManager.Instance.SetRingmasterActionRemain(context.card.actionCost + 1);
            }
            else
            {
                TimelineManager.Instance.SetRingmasterActionRemain(context.card.actionCost);
            }

            if (context.card.actionCost == 0)
            {
                //on lock toutes les cartes en main et tout le downPanel
                GameManager.Instance.UnlockDragCardHandler(true);
                GameManager.Instance.DownPanelBlock(false);
            }
        }
Esempio n. 2
0
        /**
         * Play the effect of the card
         */
        public void PlayCard(BasicCard card, GameContext context)
        {
            //create and apply all the effect of the card
            foreach (CardEffectData effectData in card.effectsData)
            {
                CardEffect effect = CreateEffect(effectData.GetEffectType());
                effect.ApplyEffect(effectData, context);
            }

            //Une fois que les effets ont été appliqués, on lance les actions
            GameSequencer.Instance.ExecuteActions(context);
            //on met à jour les infos des cartes affichées
            GameManager.Instance.UpdateCardDataDisplay();
            //on indique le nombre de tour que va jouer le RingMaster
            TimelineManager.Instance.SetRingmasterActionRemain(context.card.actionCost);
        }