using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEngine;
using UnityEngine.Timeline;

public class BasicEnemy : MonoBehaviour
{

    [Header("References")]
    public Transform parentTransform;
    public Player playerData;
    public BasicEnemyStateController sc;

    [Header("Settings")]

    public float distance;
    public float moveSpeed;

    [Header("Internal")]

    public Vector2 targetPosition;
    public Vector2 currentTargetVector;
    public int randomNumber;
    public Vector2 currentVelocity;

    void Awake() 
    {
        currentTargetVector = new Vector2(Random.Range(0,2)*2-1, Random.Range(0,2)*2-1);
    }

    void Start()
    {
        
    }

    void Update()
    {

        if(Input.GetKeyDown(KeyCode.Q))
        {
            RandomNeighborVector();
            CalculateTargetPosition();
        }

        MoveToPosition();

    }

    void CalculateTargetPosition()
    {
        targetPosition = playerData.playerPosition + currentTargetVector * distance;
    }

    void RandomNeighborVector()
    {
        if(Random.Range(0,2) == 0)
        {
            currentTargetVector.x = currentTargetVector.x - (currentTargetVector.x * 2);
        }
        else
        {
            currentTargetVector.y = currentTargetVector.y - (currentTargetVector.y * 2);
        }
    }

    void MoveToPosition()
    {
        parentTransform.position = Vector2.SmoothDamp(transform.position, targetPosition, ref currentVelocity, moveSpeed * Time.deltaTime);  
    } 

}