Exemple #1
0
    /// <summary>
    /// 剑 - 特殊攻击
    /// 1、冷却状态(消耗HP)无法使用
    /// 2、剑直接飞出去又自动飞回来
    /// 右键点击
    /// </summary>
    protected override void RightNormalShot()
    {
        //【是否为特殊攻击  && 达到CD时间 && 武器管理类判断特殊攻击是否可用(里面会涉及修改Enable是否开启使用)】
        if (!(Gun_Data.GunState == GunState.SpecialState && CanSpecialShotNext && WeaponManager.Instance.SpecialGunCheckOut()))
        {
            return;
        }
        //如果可以射击【已经开启可以用】
        if (!Gun_Data.SpecialEnable)
        {
            return;
        }
        //-------------------------------------------------------
        //开始计时
        StartCoroutine(SpecialShotCD());
        //-------------------------------------------------------
        //击打动作
        AimQuadrant currentAimQuadrant = CheckAimQuadrant();

        switch (currentAimQuadrant)
        {
        case AimQuadrant.second:
        case AimQuadrant.fourth:
            StartToSpecialAttack(AttackDirection.AntiClockWise);
            break;

        case AimQuadrant.first:
        case AimQuadrant.third:
            StartToSpecialAttack(AttackDirection.ClockWise);
            break;
        }
        //角色MPHP减少
        PlayerMPHPChange((int)Gun_Data.SpecialComsumeMP, 0);
    }
Exemple #2
0
    /// <summary>
    /// 左键普通攻击
    /// </summary>
    protected override void LeftNormalShot()
    {
        //是否为普通攻击 && 已经开启可以用 && 达到CD时间
        if (!(Gun_Data.GunState == GunState.NormalState && Gun_Data.Enable && SwordGunCanShotNext))
        {
            return;
        }
        //武器射击CD计时
        StartCoroutine(ShotCD());
        //刷新击中敌人集合
        HitPointIDHashSet.Clear();
        //击打动作
        AimQuadrant currentAimQuadrant = CheckAimQuadrant();

        switch (currentAimQuadrant)
        {
        case AimQuadrant.second:
        case AimQuadrant.fourth:
            NormalCloseAttack(AttackDirection.AntiClockWise);
            break;

        case AimQuadrant.first:
        case AimQuadrant.third:
            NormalCloseAttack(AttackDirection.ClockWise);
            break;
        }

        //角色MPHP减少
        PlayerMPHPChange(Gun_Data.ComsumeMP, Gun_Data.ComsumeHP);
    }