public override void OnHurtSb(SkInst inst, float dmg) { base.OnHurtSb(inst, dmg); if (m_MotionEquip != null && null != m_MotionEquip.Weapon && null != m_MotionEquip.Weapon.ItemObj) { Entity.SendMsg(EMsg.Battle_EquipAttack, m_MotionEquip.Weapon.ItemObj); } }
void OnHit(PEDefenceTrigger defenceTrigger, PECapsuleHitResult result) { if (null != m_PEEntity && m_PEEntity.IsDeath()) { return; } if (null != defenceTrigger) { SkEntity hitEntity = defenceTrigger.GetComponentInParent <SkEntity>(); bool isTerrain = PETools.PEUtil.IsVoxelOrBlock45(hitEntity); if (isTerrain || PETools.PEUtil.CanDamage(m_SkEntity, hitEntity)) { if (null != onHitSkEntity) { onHitSkEntity(hitEntity); } } else { return; } } if (null != onHitTrigger) { onHitTrigger(defenceTrigger, result); } if (null != m_SkEntity) { m_SkEntity.CollisionCheck(result); } if (null != m_PEEntity) { m_PEEntity.SendMsg(EMsg.Battle_AttackHit, result); } #if UNITY_EDITOR if (showDebugInfo) { DrawArrow arrow = new DrawArrow(); arrow.pos = result.hitPos; arrow.rot = Quaternion.LookRotation(result.hitDir); hitResults.Add(arrow); } #endif }