Exemplo n.º 1
0
    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;
        }
    }