Exemplo n.º 1
0
    public virtual void ForceStopSkill()
    {
        MoveTarget = null;
        m_SkillManager.ResetWeapons();
        m_Status = MyCharacterStatus.kIdle;
        AnimationClip anim = GetCurAnimationClip();

        if (anim != null)
        {
            m_ObjAnimation[anim.name].speed = 0;
        }
        if (m_SkillMovement != null)
        {
            m_SkillMovement.StopMove();
        }
        if (m_IsSkillActive && !CanStopBackSwing())
        {
            StopSkillEffects();
            if (m_ColliderManager != null)
            {
                m_ColliderManager.StopSkillColliders(SkillId);
            }
        }
        m_IsSkillActive = false;
        LogicSystem.NotifyGfxAnimationFinish(gameObject);
        if (m_IsControlMove)
        {
            LogicSystem.NotifyGfxMoveControlFinish(gameObject);
        }
        m_SkillPlayingEffect.Clear();
    }
Exemplo n.º 2
0
 public virtual bool StartSkill()
 {
     if (!CanStart())
     {
         return(false);
     }
     ImpactSystem.Instance.StopAllImpacts(gameObject);
     LogicSystem.NotifyGfxAnimationStart(gameObject);
     if (m_IsControlMove)
     {
         LogicSystem.NotifyGfxMoveControlStart(gameObject);
     }
     m_Status                 = MyCharacterStatus.kSkilling;
     m_StartTime              = Time.time;
     m_IsSkillActive          = true;
     m_IsHaveCollideMoveCurve = false;
     m_ClampedTime            = 0;
     if (m_ColliderManager != null)
     {
         m_ColliderManager.ClearColliders();
     }
     if (m_RageCast > 0)
     {
         DashFire.SharedGameObjectInfo selfObjInfo = DashFire.LogicSystem.GetSharedGameObjectInfo(gameObject);
         DashFire.LogicSystem.NotifyGfxHitTarget(gameObject, m_CostImpact, gameObject, 0);
     }
     return(true);
 }