// Update is called once per frame
    void Update()
    {
        if (_state == Enums.WarfareState.Idle)
        {
        }
        else if (_state == Enums.WarfareState.LookForTargetInRange)
        {
            if (_target == null || (_target != null && Vector2.Distance(transform.position, _target.transform.position) >= _range))
            {
                LookForTargets();
            }

            if (_target != null && Vector2.Distance(transform.position, _target.transform.position) <= _range)
            {
                _state = Enums.WarfareState.Shoot;
            }
        }
        else if (_state == Enums.WarfareState.Shoot)
        {
            _target.GetComponent <SpawnController>().TakeDamage(_damage);
        }

        if (_target != null && _target.activeInHierarchy == false)
        {
            _target = null;
            _state  = Enums.WarfareState.LookForTargetInRange;
        }
    }
 // Start is called before the first frame update
 void Start()
 {
     Instantiate(_linePrefab, transform);
     _state = Enums.WarfareState.LookForTargetInRange;
 }