using UnityEngine;

[ExecuteInEditMode]
public class AI_Area : MonoBehaviour
{
    [Header("Area Settings")]
    public Vector2 size = new Vector2(10f, 10f); // Width x Depth
    public Color gizmoColor = new Color(0f, 1f, 0f, 0.25f);

    public Vector3 GetRandomPointInArea()
    {
        float halfX = size.x / 2f;
        float halfZ = size.y / 2f;

        float randomX = Random.Range(-halfX, halfX);
        float randomZ = Random.Range(-halfZ, halfZ);

        Vector3 localOffset = new Vector3(randomX, 0f, randomZ);
        return transform.position + transform.rotation * localOffset;
    }

    void OnDrawGizmos()
    {
        Gizmos.color = gizmoColor;

        Matrix4x4 oldMatrix = Gizmos.matrix;
        Gizmos.matrix = transform.localToWorldMatrix;
        Gizmos.DrawCube(Vector3.zero, new Vector3(size.x, 0.01f, size.y));
        Gizmos.matrix = oldMatrix;

        Gizmos.color = Color.green;
        Gizmos.DrawWireCube(transform.position, new Vector3(size.x, 0.01f, size.y));
    }
}
