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.");
 | |
|     }
 | |
| }
 | |
| 
 | 
