public bool ApplyEffect(Skill skill) { //Weapon if (normalAttack.ApplyEffects(skill)) { return(true); } //Drone if (drone.ApplyEffect(skill)) { return(true); } //Character CharacterSkill cSkill = skill as CharacterSkill; if (cSkill == null) { return(false); } switch (cSkill.applyTo) { case CharacterSkill.ApplyTo.Health: health.ApplyEffect(cSkill.value); return(true); case CharacterSkill.ApplyTo.Speed: movement.ApplyEffect(cSkill.value); return(true); default: break; } return(false); }