Evento de la llave y el iman

parent f52556c4
No preview for this file type
...@@ -43,6 +43,19 @@ static Objeto generarObjetoCartera(bool (*funcion)(Objeto *, Handle&)) { ...@@ -43,6 +43,19 @@ static Objeto generarObjetoCartera(bool (*funcion)(Objeto *, Handle&)) {
return Cartera; return Cartera;
} }
static Objeto generarObjetoIman() {
Sprite sprIman("assets/iman.png");
Hitbox hitIman(0, 0, 0, 0); // Trivial, solo esta en el inventario
auto funcionIman=[](Objeto *Pantalla, Handle &handle)->bool{
play_video("assets/ConseguirLlave","es");
historiaPrincipal.pasarDeEstadoA(Historia::Secuencia::CarteraRecuperada, Historia::Secuencia::LlaveConseguida);
return false;
};
Objeto Iman(sprIman, sprIman, sprIman, hitIman, 400, 150, 150, 250, normal, funcionIman);
return Iman;
}
static Objeto generarObjetoPuerta() { static Objeto generarObjetoPuerta() {
auto funcionPuerta=[](Objeto *Puerta, Handle &handle)->bool{ auto funcionPuerta=[](Objeto *Puerta, Handle &handle)->bool{
play_video("assets/LaPuertaEstaCerrada","es"); play_video("assets/LaPuertaEstaCerrada","es");
...@@ -190,6 +203,46 @@ static void iniciarPuzlePantallaResuelto(){ ...@@ -190,6 +203,46 @@ static void iniciarPuzlePantallaResuelto(){
getPantalla2()->anadirObjeto(Puerta); getPantalla2()->anadirObjeto(Puerta);
} }
static void iniciarCajaAbierta(){
Objeto Puerta = generarObjetoPuerta();
getPantalla2()->anadirObjeto(Puerta);
Sprite sprLlave("assets/llaveHighlight.png");
Hitbox hitLlave(300,200,500,-1000000000);
auto funcionLlave=[](Objeto *Cajon, Handle &handle)->bool{
play_video("assets/NoLlegoIman","es");
return false;
};
Objeto llave(sprLlave,sprLlave,sprLlave,hitLlave,100,150,50,50, normal,funcionLlave);
getPantalla1()->anadirObjeto(llave);
}
static void iniciarCarteraRecuperada(){
Objeto Puerta = generarObjetoPuerta();
getPantalla2()->anadirObjeto(Puerta);
Sprite sprLlave("assets/llaveHighlight.png");
Hitbox hitLlave(300,200,500,-1000000000);
auto funcionLlave=[](Objeto *Cajon, Handle &handle)->bool{
play_video("assets/NoLlegoIman","es");
return false;
};
Objeto llave(sprLlave,sprLlave,sprLlave,hitLlave,100,150,50,50, normal,funcionLlave);
getPantalla1()->anadirObjeto(llave);
auto funcionCartera=[](Objeto *Pantalla, Handle &handle) -> bool {
play_video("assets/AgapitoSacaIman","es");
getPantallaFecha()->setTieneCarne(true);
Agapito.numObjetos-=1;
Agapito.inventario[Agapito.numObjetos] = generarObjetoIman();
Agapito.numObjetos+=1;
return false;
};
Agapito.inventario[Agapito.numObjetos] = generarObjetoCartera(funcionCartera);
Agapito.numObjetos += 1;
}
void Historia::siguienteEstado(Secuencia estado){ void Historia::siguienteEstado(Secuencia estado){
switch (estado){ switch (estado){
...@@ -210,11 +263,11 @@ void Historia::siguienteEstado(Secuencia estado){ ...@@ -210,11 +263,11 @@ void Historia::siguienteEstado(Secuencia estado){
break; break;
case CajaAbierta: case CajaAbierta:
//iniciarCajaAbierta(); iniciarCajaAbierta();
break; break;
case CarteraRecuperada: case CarteraRecuperada:
//iniciarCarteraRecuperada(); iniciarCarteraRecuperada();
break; break;
case LlaveConseguida: case LlaveConseguida:
......
WEBVTT
1
00:00:00.550 --> 00:00:05.000
Me gusta Belén Esteban
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment