Пример #1
0
 public void GetCanUseSkillList(ref List <CSkillInfo> list)
 {
     list.Clear();
     for (int nIndex = 0; nIndex < 5; nIndex++)
     {
         if (m_dicSkill.ContainsKey(nIndex))
         {
             CSkillInfo skill = m_dicSkill[nIndex];
             if (skill != null && skill.IsCanUse())
             {
                 list.Add(skill);
             }
         }
     }
 }
Пример #2
0
        public void EnterSkill()
        {
            CSkillInfo sInfo = GetSkillByIndex(m_cmdFspSendSkill.m_skillIndex);

            if (sInfo == null)
            {
                return;
            }

            // 如果存在引导技能,则不再创建
            SkillBase dSkill = CSkillMgr.GetDownUpSkill(GetUid());

            if (dSkill != null)
            {
                if (sInfo.m_skillInfo.skillType == (int)eSkillType.Down_Up)
                {
                    SkillDownUp dp = dSkill as SkillDownUp;
                    dp.SetCmd(m_cmdFspSendSkill);
                }
                return;
            }

            if (!m_logicSkillEnabled)
            {
                return;
            }


            //Debug.Log("技能流程:使用技能:" + sInfo.m_skillInfo.id + " "+ sInfo.m_skillInfo.name);
            if (!sInfo.IsCanUse())
            {
                return;
            }

            //Debug.Log("CD 正常进入技能:" + m_cmdFspSendSkill.m_skillIndex + " " + sInfo.m_skillDataInfo.name);

            SkillCsvData m_skillInfo = sInfo.m_skillInfo;

            StartSkill(m_skillInfo);
            sInfo.GetMainSkill().OnUseSkill();
        }