public void SetEffect(CreatureEffects effect) { if (this.Effects == null) { this.Effects = new List <CreatureEffects>(); } this.Effects.Add(effect); }
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); }