using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class AgentCollector : MonoBehaviour { public float moveSpeed = 5f; // Velocidad de movimiento del agente public Text collectedText; // Referencia al componente de UI que muestra los objetos recolectados private int collectedCount = 0; // Contador de objetos recolectados // Se llama al inicio void Start() { UpdateUI(); // Actualiza el texto de la UI al iniciar el juego } // Se llama una vez por frame void Update() { Move(); // Controla el movimiento del agente } // Control del movimiento del agente private void Move() { float moveX = Input.GetAxis("Horizontal"); float moveZ = Input.GetAxis("Vertical"); Vector3 move = new Vector3(moveX, 0f, moveZ) * moveSpeed * Time.deltaTime; transform.Translate(move); } // Detección de colisiones con objetos recolectables //Configurar UI: Crea un texto en la UI utilizando un Text dentro de un Canvas. //Arrastra el objeto de texto a la referencia pública collectedText en el inspector del AgentCollector. private void OnTriggerEnter(Collider other) { if (other.gameObject.CompareTag("Collectible")) { collectedCount++; // Incrementa el contador UpdateUI(); // Actualiza la UI Destroy(other.gameObject); // Destruye el objeto recolectado } } // Actualiza el texto de la UI con el número de objetos recolectados private void UpdateUI() { collectedText.text = "# de monedas: " + collectedCount; } }