コード例 #1
0
        private void UpdateSkillCD(SkillNode node)
        {
            if (node == null)
            {
                return;
            }
            SkillNode head      = GetHead(node.Category);
            SkillInfo head_info = m_Owner.GetSkillStateInfo().GetSkillInfoById(head.SkillId);

            if (head.SkillId == node.SkillId)
            {
                head_info.BeginCD();
                if (node.IsAlreadyPressUp)
                {
                    head_info.CalcuteCastTime(TimeUtility.GetLocalMilliseconds() / 1000f, head_info.SkillId);
                }
            }
            else
            {
                SkillInfo node_info = m_Owner.GetSkillStateInfo().GetSkillInfoById(node.SkillId);
                if (node.IsAlreadyPressUp)
                {
                    head_info.AddCD(node_info.ConfigData.CoolDownTime);
                }
                else
                {
                    head_info.AddCD(node_info.ConfigData.CoolDownTime + node_info.ConfigData.CastTime);
                }
            }
        }
コード例 #2
0
 public override bool BreakCurSkill(int breaktype, SkillCategory category)
 {
     if (category == m_CurSkillNode.Category)
     {
         bool result = StopSkill(m_CurSkillNode, breaktype);
         if (!result)
         {
             if (!m_CurSkillNode.IsAlreadyPressUp)
             {
                 m_CurSkillNode.IsAlreadyPressUp = true;
                 SkillNode head      = GetHead(m_CurSkillNode.Category);
                 SkillInfo skillInfo = m_Owner.GetSkillStateInfo().GetSkillInfoById(head.SkillId);
                 if (skillInfo != null)
                 {
                     skillInfo.CalcuteCastTime(TimeUtility.GetLocalMilliseconds() / 1000f, m_CurSkillNode.SkillId);
                 }
             }
             else
             {
                 SkillNode skillnode = m_WaiteSkillBuffer.Find(s => s.Category == category && s.IsAlreadyPressUp == false);
                 if (skillnode != null)
                 {
                     skillnode.IsAlreadyPressUp = true;
                 }
             }
         }
         return(result);
     }
     else
     {
         SkillNode skillnode = m_WaiteSkillBuffer.Find(s => s.Category == category && s.IsAlreadyPressUp == false);
         if (skillnode != null)
         {
             skillnode.IsAlreadyPressUp = true;
         }
     }
     return(false);
 }