Exemplo n.º 1
0
        public void SetEffect(CreatureEffects effect)
        {
            if (this.Effects == null)
            {
                this.Effects = new List <CreatureEffects>();
            }

            this.Effects.Add(effect);
        }
Exemplo n.º 2
0
    private Card CreatureSetup(CreatureCardData data)
    {
        CreatureCard card = Instantiate(creatureCardPrefab, MainCanvas.Instance.transform).GetComponent <CreatureCard>();

        card.BaseManaCost = -1;
        Creature creature = card.Creature;

        creature.BaseHealth   = data.health;
        creature.Health       = data.health;
        creature.BaseAttack   = data.attack;
        creature.AttackStat   = data.attack;
        creature.BaseMovement = data.movement;
        creature.Movement     = data.movement;
        creature.Range        = data.range;
        creature.BaseRange    = data.range;

        // Effects
        if (data.effects == null)
        {
            return(card);
        }
        CreatureEffects effs = card.gameObject.AddComponent(data.effects.GetType()) as CreatureEffects;

        effs.card     = card;
        effs.creature = creature;

        card.onInitilization = effs.onInitilization;
        // register activated Effect
        if (effs.activatedEffect != null)
        {
            creature.ActivatedEffects.Add(effs.activatedEffect);
        }
        // register triggers

        /*
         * if (effs.onDeploy != null)
         *  creature.E_OnDeployed += effs.onDeploy;
         * if (effs.onDeath != null)
         *  creature.E_Death += effs.onDeath;
         * if (effs.onAttack != null)
         *  creature.E_OnAttack += effs.onAttack;
         * if (effs.onDefend != null)
         *  creature.E_OnDefend += effs.onDefend;
         * if (effs.onDamaged != null)
         *  creature.E_OnDamaged += effs.onDamaged;
         */

        return(card);
    }