Exemplo n.º 1
0
        public override void OnBeHit(GameObject caster)
        {
            TakeDamageExtraInfo info = new TakeDamageExtraInfo();

            info.caster = caster;
            MessageDispatcher.Instance().Dispatch(
                m_stateAgent.GetEntityID(),
                m_stateAgent.GetEntityID(),
                MessageType.MT_TakeDamage,
                info);
        }
Exemplo n.º 2
0
        private void StartFly(Telegram msg)
        {
            m_elapsedTime = 0;
            m_bHurtFlying = true;

            TakeDamageExtraInfo damageInfo = (TakeDamageExtraInfo)msg.m_extraInfo;

            FaceToAttacker(damageInfo.caster);

            // anim
            m_animator.SetTrigger(m_animBridge.hurtTrigger);

            // sprite change color
            m_spriteRenderer.color = new Color(1, 0, 0, 1);

            // move with speed
            Vector2 dir = GetHitDir(damageInfo.caster);

            m_prevGravityScale       = m_rigidBody.gravityScale;
            m_rigidBody.gravityScale = 0;
            m_bounceVelocity         = dir * m_beHit.m_hitAwaySpeed;
        }