Clase que se encarga de manejar las transiciones en cada mapa. Más...
#include <map_transitions.h>
Métodos públicos | |
MapTransitions (MapId map_id, nlohmann::json changes, int width, int height) | |
void | push_if_transition (std::string name, position_t position) |
Agrega la transición en caso de ser necesaria de un jugador. Más... | |
void | teleport (std::string name, position_t dest) |
Agregar una transición forzada de un jugador a una posición de destino en el mismo mapa. Más... | |
std::queue< map_change_t > & | get_changes () |
Clase que se encarga de manejar las transiciones en cada mapa.
Mantiene estructuras inicializadas durante el constructor que definen cuáles son las posiciones del mapa que refieren a transiciones y cuando se ejecuta un movimiento en el mapa (particularmente solo de jugadores) se encola en caso de ser una "transicion". Cada transición es encolada con información del nombre del personaje, el mapa y posición de destino.
void MapTransitions::push_if_transition | ( | std::string | name, |
position_t | position | ||
) |
Agrega la transición en caso de ser necesaria de un jugador.
Verifica si la posición a donde se va a mover el personaje es una transición del mapa.
name | Nombre del personaje. |
position | Posición a donde se va a mover el personaje. |
void MapTransitions::teleport | ( | std::string | name, |
position_t | dest | ||
) |
Agregar una transición forzada de un jugador a una posición de destino en el mismo mapa.
name | Nombre del personaje. |
dest | Posición de destino. |