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); }
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; }