private void InputSkill() { skillChanneling = false; skillAiming = false; foreach (Skill skill in GetComponents <Skill>()) { if (skill.isChanneling && skill.castConfirmed) { skillChanneling = true; } if (skill.isAiming) { skillAiming = true; } } if (allowSkillUsage && !skillChanneling) { foreach (Skill skill in GetComponents <Skill>()) { if (skill.type == SkillType.Passive) { continue; } else { if (Input.GetKeyDown(skill.hotKey)) { switch (skill.castMode) { case SkillCastMode.Aim: skill.isAiming = !skill.isAiming; return; case SkillCastMode.Instant: skill.ReadyActiveEffect(); break; case SkillCastMode.Toggle: skill.isToggled = !skill.isToggled; return; } } if (skill.isAiming) { if (Input.GetMouseButtonDown(0)) { skill.ReadyActiveEffect(); kartShoot.canShoot = false; kartShoot.ShootCooldown(1); skillAiming = false; } } } } } }