Пример #1
0
        private void VerifySkillCooldown_VerifyingSkill(object sender,
                                                        VerifyingSkillEventArgs e)
        {
            bool canUseSkill
                = skillManager.GetCurrentCooldown(e.UseSkill)
                  <= skillManager.MinCooldown;

            if (!canUseSkill)
            {
                e.CanUseSkill.Push(false);
            }
        }
Пример #2
0
        private void SkillRange_VerifyingSkill(object sender,
                                               VerifyingSkillEventArgs e)
        {
            int[] aimMarker
                = GameCore.AxeManCore.GetComponent <SearchObject>()
                  .Search(SubTag.AimMarker)[0]
                  .GetComponent <MetaInfo>().Position;
            int distance   = GetComponent <LocalManager>().GetDistance(aimMarker);
            int skillRange = GetSkillRange(
                GetComponent <PCSkillManager>().GetSkillNameTag(e.UseSkill));

            e.CanUseSkill.Push(distance <= skillRange);
        }
Пример #3
0
        private void VerifySkillRange_VerifyingSkill(object sender,
                                                     VerifyingSkillEventArgs e)
        {
            int[] markerPos = aimMarker.GetComponent <MetaInfo>().Position;
            int[] pcPos     = pc.GetComponent <MetaInfo>().Position;
            int   distance  = GetComponent <Distance>().GetDistance(pcPos, markerPos);

            PCSkillManager skillManager = pc.GetComponent <PCSkillManager>();
            SkillNameTag   skillName    = skillManager.GetSkillNameTag(e.UseSkill);
            int            skillRange   = skillManager.GetSkillRange(skillName);

            bool canUseSkill = distance <= skillRange;

            if (!canUseSkill)
            {
                e.CanUseSkill.Push(false);
            }
        }
Пример #4
0
        private void VerifySkillTarget_VerifyingSkill(object sender,
                                                      VerifyingSkillEventArgs e)
        {
            SkillNameTag skillName = skillManager.GetSkillNameTag(e.UseSkill);
            SkillTypeTag skillType = skillManager.GetSkillTypeTag(skillName);

            int[]        position = aimMarker.GetComponent <MetaInfo>().Position;
            GameObject[] go       = GetComponent <SearchObject>().Search(
                position[0], position[1]);

            bool canUseSkill;

            switch (skillType)
            {
            case SkillTypeTag.Move:
                canUseSkill = VerifyMove(go);
                break;

            case SkillTypeTag.Attack:
            case SkillTypeTag.Curse:
                canUseSkill = VerifyAttackCurse(go);
                break;

            case SkillTypeTag.Buff:
                canUseSkill = VerifyBuff(go);
                break;

            default:
                canUseSkill = false;
                break;
            }

            if (!canUseSkill)
            {
                e.CanUseSkill.Push(false);
            }
        }
Пример #5
0
 private void SkillCooldown_VerifyingSkill(object sender,
                                           VerifyingSkillEventArgs e)
 {
     e.CanUseSkill.Push(GetCurrentCooldown(e.UseSkill) <= minCD);
 }