public void Process(object value) { Card.EffectType[] effectList = new Card.EffectType[1]; effectList[0] = effect; Effect thisEffect = factory.GetEffects(effectList)[0]; List <GameObject> targets = new List <GameObject>(); if (targetType == Card.TargetType.None) { targets = null; } else if (targetType == Card.TargetType.AllEnemies) { targets = new List <GameObject>(GameObject.FindGameObjectsWithTag("Enemy")); } else if (targetType == Card.TargetType.AllPlayers) { targets = new List <GameObject>(GameObject.FindGameObjectsWithTag("Player")); } else if (targetType == Card.TargetType.Enemy && ((GameObject)value).tag == "Enemy") { targets.Add((GameObject)value); } else if (targetType == Card.TargetType.Player && ((GameObject)value).tag == "Player") { targets.Add((GameObject)value); } else if (targetType == Card.TargetType.Any) { targets.Add((GameObject)value); } thisEffect.RelicProcess(targets, buff, effectValue, effectDuration); }
public Effect GetEffect(Card.EffectType effectName) { Card.EffectType[] types = new Card.EffectType[1]; types[0] = effectName; return(GetEffects(types)[0]); }