public void AddComponentColorTo(EffectStruct effect) { ColorTo colorto = this.gameObject.AddComponent<ColorTo>(); colorto.time = this.time; colorto.color = this.color; colorto.looptype = this.looptype; }
//Play the effectStruct public bool ReadEffect(EffectStruct effectStruct, Belligerent owner) { //Determine the value int _finalValue = 0; if (effectStruct.parameters.Length > 0) { int _intermediateValue = 0; for (int i = 0; i < effectStruct.parameters.Length; i++) { _intermediateValue = ParameterValue(effectStruct, i, owner); _finalValue = CombineValues(effectStruct.parameters[i].combinaisonType, _finalValue, _intermediateValue); } } //Determine the target List <Belligerent> targets = new List <Belligerent>(); if (effectStruct.target == Effects.Target.Both) { targets.Add(belligerents[0]); targets.Add(belligerents[1]); } else { targets.Add(BelligerentDetermination(effectStruct.target, owner)); } //Play the effect switch (effectStruct.effect) { case Effects.Effect.AddPower: for (int i = 0; i < targets.Count; i++) { targets[i].AddPower(_finalValue, true); } break; case Effects.Effect.DealDamage: for (int i = 0; i < targets.Count; i++) { targets[i].life -= _finalValue; } break; case Effects.Effect.Draw: for (int i = 0; i < targets.Count; i++) { for (int j = 0; j < _finalValue; j++) { targets[i].DrawCard(false); } } break; case Effects.Effect.Heal: for (int i = 0; i < targets.Count; i++) { targets[i].life += _finalValue; } break; case Effects.Effect.SetHp: for (int i = 0; i < targets.Count; i++) { targets[i].life = _finalValue; } break; case Effects.Effect.SetPower: for (int i = 0; i < targets.Count; i++) { targets[i].power = _finalValue; } break; } return(true); }