using System;
using UnityEngine;

public class DirectionToTarget : MonoBehaviour
{
    [SerializeField] float _scaleMultiplier = 5f;
    [SerializeField] Transform _attacker;
    [SerializeField] Transform _target;
    [SerializeField] Vector3 _offset;
    [SerializeField] LineRenderer _lineRenderer;
    Vector3[] _positions = new Vector3[2];

    void Update()
    {
        var directionToTarget = Vector3.Normalize(_target.position - _attacker.position);
        _positions[0] = _attacker.position + _offset;
        _positions[1] = _positions[0] + (directionToTarget * _scaleMultiplier);
        _lineRenderer.SetPositions(_positions);
    }

    void OnValidate()
    {
        _lineRenderer = GetComponent<LineRenderer>();
        var directionToTarget = Vector3.Normalize(_target.position - _attacker.position);
        _positions[0] = _attacker.position + _offset;
        _positions[1] = _positions[0] + (directionToTarget * _scaleMultiplier);
        _lineRenderer.SetPositions(_positions);
    }
}