public void DealDamage(DealDamageComponent comp) { if (target != null) { target.GetComponent <Animator>().SetTrigger("Hit"); var hitFX = Instantiate <GameObject>(comp.hitFX); hitFX.transform.position = target.transform.position + new Vector3(0, target.GetComponentInChildren <SkinnedMeshRenderer>().bounds.center.y, 0); } }
private void DealDamage(DealDamageComponent self, Collision coll) { var health = coll.gameObject.GetComponent <HealthComponent>(); health.CurrentHealth.Value -= self.DamageToHealth; var body = self.GetComponent <Rigidbody>(); var direction = self.transform.position - coll.gameObject.transform.position; direction = direction.normalized; direction *= self.PushForceStrength; body.AddForce(direction); MessageBroker.Default.Publish(new FlashArgs()); }