コード例 #1
0
ファイル: InputManager.cs プロジェクト: datnewb/Kartus
    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;
                        }
                    }
                }
            }
        }
    }