private void Start() { rendererHandler.Start(); transform.SetParent(Ability.Owner.transform); transform.localPosition = Vector3.zero; }
protected virtual void Fire() { rendererHandler.Start(); RaycastHit2D hit = Physics2D.Raycast(transform.position, Direction, maxDistance.Value, ~ignoreLayer); if (hit) { if (hit.collider.gameObject.TryGetEntity(out Entity entity)) { Ability.Action.Tick(new AbilityData(Ability.Owner, entity, Multiplier)); } AnimationTargetPoint = hit.point; } else { AnimationTargetPoint = (Vector2)transform.position + Direction * maxDistance.Value; } }