public override GameObject FireAmmo(IDamager damager, Ray damageRay, LayerMask layerMask, float damageMultiplier) { Impaler impaler = Impaler.pool.GetPrefabInstance(impalerPrefab); System.Action <PhysicsHit> onHitReach = (physicsHit) => { }; List <PhysicsHit> hits = impaler.ShootImpaler(velocity, hitObjectVelocityMultiplier, zMovementLimit, damageRay, maxDistance, layerMask, impalerRadius, kinematicOnReach, useColliderOnReach, lifeTime, onHitReach); for (int i = 0; i < hits.Count; i++) { Damageable damageable = hits[i].hitElements[0].rigidbody.GetComponent <Damageable>(); if (damageable) { damageable.SendDamage(new DamageMessage(damager, baseDamage * damageMultiplier, 0)); } } return(impaler.gameObject); }
void Awake() { impaler = GetComponent <Impaler>(); lineRenderer = GetComponent <LineRenderer>(); }