private void HandleEvent(ProjectileEvents e, Target target) { if (!IsActive) { return; } // Piercing if (e == ProjectileEvents.CollisionWithTarget || e == ProjectileEvents.CollisionWithOtherTargets) { _numberOfHits += 1; if (_numberOfHits > _projectile.MaxPiercingTargets.GetValue(_handler.Stacks)) { HandleEvent(ProjectileEvents.ReachedMaxPiercingTargets, target); } } if (_projectile.FireSubSpellCondition.HasFlag(e)) { _handler.HandleProjectileFireEvent(target); } if (_projectile.DestroyCondition.HasFlag(e)) { HandleDestroy(); _handler.HandleProjectileDestroyEvent(target); } }
private void Awake() { projectile_event = this; }