34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class ObjectPlacementManager : MonoBehaviour
|
|
{
|
|
public LineManager lineManager; // Referencia al script LineManager
|
|
public GameObject myPrefab;
|
|
|
|
public void PlaceObject(Vector3 position)
|
|
{
|
|
if (!lineManager.IsPolygonClosed())
|
|
{
|
|
Debug.Log("No se puede colocar objetos: el polígono no está cerrado.");
|
|
FindObjectOfType<DebugLoggerUI>().AddMessage("No se puede colocar objetos: el polígono no está cerrado.");
|
|
return;
|
|
}
|
|
|
|
List<Vector3> polygon = lineManager.GetPolygonPoints();
|
|
Vector2 point2D = new Vector2(position.x, position.z);
|
|
|
|
if (!lineManager.IsPointInPolygon(point2D, polygon))
|
|
{
|
|
Debug.Log("El punto está fuera del área permitida.");
|
|
FindObjectOfType<DebugLoggerUI>().AddMessage("El punto está fuera del área permitida.");
|
|
return;
|
|
}
|
|
|
|
Instantiate(myPrefab, position, Quaternion.identity);
|
|
Debug.Log("Objeto colocado dentro del área.");
|
|
FindObjectOfType<DebugLoggerUI>().AddMessage("Objeto colocado dentro del área.");
|
|
}
|
|
}
|
|
|