private void Update()
    {
        targets = vision.AcquireTargets();

        if (targets.Length < 1)
        {
            return;
        }


        var movementPosition = movement.CalculateTargetPosition(targets);

        movement.MoveTowards(movementPosition);

        var tar = attack.CalculateTarget(targets);

        if (tar == null)
        {
            return;
        }

        attack.Attack(tar);
    }