示例#1
0
    /// <summary>
    /// 技能释放间隔, 单位: 毫秒
    /// </summary>
    /// <param name="skillID"></param>
    /// <returns></returns>
    public float GetSkillReleaseInterval(int skillID)
    {
        SkillSystemGrow grow     = GetSkillGrow(skillID);
        SkillCategory   category = (SkillCategory)grow.CastWay;

        switch (category)
        {
        case SkillCategory.Immediate:
        case SkillCategory.Immediate_MultiShot:
        case SkillCategory.Chanting:
        case SkillCategory.Charge:
        case SkillCategory.Charge_MultiShot:
            return(grow.Cooldown);

        case SkillCategory.Chanting_Trigger:
            return(grow.CastWayArgs(1));

        case SkillCategory.Immediate_Trigger:
            return(grow.CastWayArgs(0));

        case SkillCategory.ManualChannel:
        case SkillCategory.AutoChannel:
        case SkillCategory.RapidFire:
        case SkillCategory.MiningBeam:
            return(grow.CastWayArgs(0));

        default:
            return(1000f);
        }
    }
示例#2
0
    /// <summary>
    /// 开始引导
    /// </summary>
    public void StartChannelling()
    {
#if UNITY_EDITOR
        if (skillGrow.CastWay == (int)SkillCategory.AutoChannel ||
            skillGrow.CastWay == (int)SkillCategory.ManualChannel ||
            skillGrow.CastWay == (int)SkillCategory.RapidFire ||
            skillGrow.CastWay == (int)SkillCategory.MiningBeam)
#endif
        m_GuideEndTime = Time.time + skillGrow.CastWayArgs(1);
    }