En la clase anterior, conseguimos que la enfermera fuera a la zona de espera donde estarán los pacientes.
Ahora vamos a emparejar a la enfermera con un paciente concreto para que lo lleve a un cubículo.
Así que de alguna manera tiene que saber sobre el paciente.
Y más adelante, la paciente y ella necesitan conocer estos cubículos de aquí porque es donde
se va a realizar el tratamiento.
Así que ahora tenemos que añadir una funcionalidad en la que podemos tratar con los objetos del juego y no sólo con los objetos estáticos del juego
como los que tenemos en una malla IV, sino con los que se mueven y que serán asignados
dinámicamente.
Así que vamos a hacer eso en el guión del mundo.
Así que tenemos que volver a nuestra carpeta Go, buscar G World y abrirla.
Y ahora vamos a ampliar el mundo.
Así que el mundo va a tener una cola estática privada.
De objetos de juego.
Y esta primera señal que estamos creando será nuestra paciencia.
Q.
A medida que los pacientes lleguen al lugar de espera, se pondrán en la cola y entonces la
enfermera podrá sacarlos de la cola para convertirlos en su lugar de destino.
Así que necesitamos métodos aquí abajo para trabajar con nuestra cola.
En primer lugar, necesitamos un paciente público void add.
Donde pasamos en el objeto de juego P y lo que hace es a y la cola que tan paciente se detuvo en Q.
4 p. m..
Ahora, en algún momento, también tendremos que sacar a los pacientes de la cola, sobre todo
cuando se les haya asignado una enfermera.
No queremos que se asignen a ninguna otra enfermera, así que iremos a quitar pacientes.
Y aquí lo que se va a hacer es devolver el primer objeto de juego en la cola.
Así que vamos a hacer que nuestro objeto de juego que está regresando.
Y aquí será si hay un paciente en la cola de espera.
Así que si la cuenta de puntos de los pacientes es igual a cero, entonces vamos a devolver null.
De lo contrario, vamos a devolver a los pacientes.
¿Y tú?
Ahora, por supuesto, antes de que cualquiera de este código realmente va a trabajar en su cola de pacientes, también es
necesario inicializarlo.
Así que vamos a subir a la parte superior aquí y vamos.
La nueva cola de objetos de juego del paciente.
Así que objeto del juego.
De lo contrario, no podremos poner nada en la cola ni sacar nada de ella.
Bien, genial.
Así que guarda eso.
Ahora vamos a volver a nuestra acción que está inyectando el estado de espera.
Y eso fue en ¿recordamos?
Es la sala de espera.
Ahí está.
Lo encontré.
De acuerdo.
Así que aquí, al mismo tiempo que estamos inyectando este estado de espera en los estados del mundo, también podemos añadirnos
o este agente puede añadirse a sí mismo en la cola.
Así que va a ser la instancia de la cola del pozo, punto añadir paciente y será este objeto de juego de punto.
Así que es el objeto de juego o el agente en el que esta espera es particularmente que va a ir a esa
cola.
De acuerdo.
Así que lo guardaremos.
Ahora, ¿qué va a hacer la enfermera?
Bueno, volvemos al guión de conseguir pacientes y en el.
Prepárese para actuar.
Así que lo primero que hacemos antes de empezar a ejecutar nuestro plan es conseguir nuestro objetivo y fijar nuestro objetivo.
Así que el objetivo va a ser igual al mundo g.
Ejemplo de punto, punto eliminar paciente y vamos a eliminar sólo uno.
Por supuesto, no podemos conseguir más.
Luego tenemos que acordarnos de comprobar que realmente tenemos el objetivo, porque si no tenemos
un objetivo, el predesempeño debe fallar, lo que hará que todo el plan falle.
Así que si el objetivo es igual a null, entonces vamos a devolver false.
Y eso permitirá que ese paciente vuelva a la cola de objetivos para la enfermera, de modo que pueda planificar
hacerlo de nuevo en lugar de continuar si hubiera otros objetivos con los que tuviera que seguir.
Así que si devuelve "true", entonces la enfermera se adelantaría y haría eso.
Excepto que supongo que en este caso la condición es con la malla naval y la enfermera realmente tiene que estar
en el lugar correcto.
De acuerdo.
De todos modos, así que tenemos todo el código, así que vamos a guardar eso y vamos a volver a Unity y vamos a darle una
oportunidad.
Muy bien.
Una vez realizados estos cambios, echemos un vistazo a la enfermera.
Estamos buscando que este objetivo cambie.
Sólo voy a seleccionar esto y darle a borrar para que no esté ahí.
Y pulsemos el play para ver lo que ocurre.
Así que cuando los agentes lleguen, acabarán registrándose en la cola de pacientes y la enfermera deberá
coger uno de allí y dirigirse a él.
Ahora sabrá que eso ha ocurrido porque la enfermera terminará con un objetivo aquí y podrá ir a buscar
a ese paciente en particular.
Así que aquí vamos.
Aquí vienen los agentes.
¡Bang!
Hay uno en la cola.
La enfermera tiene ese objetivo y sale a la zona.
Ahora va a seguir siendo exactamente igual que lo que teníamos antes porque la enfermera y el paciente
no tienen más planes después de una especie de encuentro.
Así que cuando volvamos en la próxima conferencia, lo que vamos a hacer es ampliar los
planes de la enfermera y el paciente para que se dirijan a un cubículo.