FASE 2 - SCRIPT PARA RECUPERAR FLORES⏰ 10' approx
El siguiente paso para nuestro juego será crear el script LadronInteraction, que añadiremos a los prefabs de los ladrones para que vuelvan al estado de peatón normal cuando el policía se acerca a ellos.
Nos vamos a la carpeta de Scripts y creamos un nuevo script (Click derecho > Create > C# Script), y lo llamamos “LadronInteraction”. El código es el siguiente:
using UnityEngine;
public class LadronInteraction : MonoBehaviour
{
private GameObject jugador; // Referencia al jugador
public GameObject prefabPeaton; //Prefab del peatón (antes y después de ser ladrón)
private Vector3 destino; //Destino del peatón
// Llamamos al metodo RecuperarFlor cuando el jugador entra en el trigger
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player"))
{
RecuperarFlor();
}
}
//Eliminamos el prefab del ladron y lo reemplazamos por el peaton
//Recuperamos el destino del ladrón para asignarlo al peatón
private void RecuperarFlor()
{
MoverPeaton moverLadron = transform.GetComponent<MoverPeaton>();
if (moverLadron != null)
{
destino = moverLadron.GetDestination();
}
Destroy(gameObject);
GameObject nuevoPeaton = Instantiate(prefabPeaton, transform.position, transform.rotation);
MoverPeaton moverPeaton = nuevoPeaton.GetComponent<MoverPeaton>();
if (moverPeaton != null)
{
moverPeaton.SetDestination(destino);
}
}
}
El método OnTriggerEnter se ejecuta cuando un objeto entra dentro del Trigger, en este caso, comprobamos que este objeto tiene el tag Player.
Dentro de este método, llamamos a la función RecuperarFlor, que sustituye el prefab del ladrón por el del peatón. Volvemos a Unity, y en primer lugar, le ponemos el tag Player a nuestro Controlador.

Acto seguido, vamos a la carpeta de nuestros personajes PolygonCity > Prefabs > Characters, y vamos a añadir este script a los prefabs de los ladrones.
Seleccionamos uno, y en el inspector, Add Component y buscamos Ladron Interaction, o bien lo arrastramos.
Por último, en el componente Ladron Interaction del inspector, asignamos el prefab del personaje sin la maceta y el indicador en el campo Prefab Peatón.

Pulsamos al Play y comprobamos el funcionamiento de nuestro juego.