Пример #1
0
    public void OnCardAttacked()
    {
        m_VisualizeEffect = new CardHitEffect();

        CardVisualizeEffectData HitEffectData = new CardVisualizeEffectData.CardVisualizeEffectHit(4, 0.3f);

        m_VisualizeEffect.InitVisualizeEffect(gameObject, HitEffectData);
    }
Пример #2
0
    public override IEnumerator UpdateVisualizeEffect()
    {
        if (m_EffectTarget != null)
        {
            if (m_HitEffectData == null)
            {
                m_HitEffectData = (CardVisualizeEffectData.CardVisualizeEffectHit)m_VisualizeEffectData;
            }

            if (m_CurrentVibrateCount < m_HitEffectData.m_VibrationCount)
            {
                m_VisualizeStatus = VisualizeEffectStatus.Progress;
                if (m_CurrentVibrateCount % 2 == 0)
                {
                    m_EffectTarget.transform.position = new Vector3(m_EffectStartPosition.x,
                                                                    m_EffectStartPosition.y + m_HitEffectData.m_DistanceToSource, m_EffectStartPosition.z);
                }
                else
                {
                    m_EffectTarget.transform.position = new Vector3(m_EffectStartPosition.x,
                                                                    m_EffectStartPosition.y - m_HitEffectData.m_DistanceToSource, m_EffectStartPosition.z);
                }

                ++m_CurrentVibrateCount;
            }
            else
            {
                m_EffectTarget.transform.position = new Vector3(m_EffectStartPosition.x,
                                                                m_EffectStartPosition.y, m_EffectStartPosition.z);
                m_VisualizeStatus = VisualizeEffectStatus.End;
                m_EffectTarget    = null;
            }
        }

        yield return(null);
    }