Se muestra el calendario antes de desaparecer

parent 387fd592
Showing with 47 additions and 6 deletions
No preview for this file type
...@@ -16,34 +16,58 @@ void Historia::limpiarEstado(){ ...@@ -16,34 +16,58 @@ void Historia::limpiarEstado(){
} }
}; };
static void iniciarInicio() { static Objeto generarObjetoPantalla(bool (*funcion)(Objeto *)) {
Sprite sprPantalla("assets/pantalla.png"); Sprite sprPantalla("assets/pantalla.png");
Hitbox hitPantalla(300,200,500,-1000000000); Hitbox hitPantalla(300,200,500,-1000000000);
Objeto Pantalla(sprPantalla,sprPantalla,sprPantalla,hitPantalla,0,150,300,300, normal,funcion);
return Pantalla;
}
static Objeto generarObjetoCalendario() {
Sprite sprCalendario("assets/calendario.png");
Hitbox hitCalendario(-100000,-200000,-10000,-1000000000); // (Hitbox inacesible)
Objeto Calendario(sprCalendario,sprCalendario,sprCalendario,hitCalendario,400,150,150,250, normal,nullptr);
return Calendario;
}
static void iniciarInicio() {
auto funcionPantalla=[](Objeto *Pantalla)->bool{ auto funcionPantalla=[](Objeto *Pantalla)->bool{
play_video("assets/MiedoCalendario1","es"); play_video("assets/MiedoCalendario1","es");
historiaPrincipal.pasarDeEstadoA(Historia::Secuencia::Inicio, Historia::Secuencia::CalendarioVisto); historiaPrincipal.pasarDeEstadoA(Historia::Secuencia::Inicio, Historia::Secuencia::CalendarioVisto);
return false; return false;
}; };
Objeto Pantalla(sprPantalla,sprPantalla,sprPantalla,hitPantalla,0,100,400,400, normal,funcionPantalla);
Objeto Pantalla = generarObjetoPantalla(funcionPantalla);
Objeto Calendario = generarObjetoCalendario();
getPantalla1()->anadirObjeto(Pantalla); getPantalla1()->anadirObjeto(Pantalla);
getPantalla1()->anadirObjeto(Calendario);
} }
static void iniciarCalendarioVisto(){ static void iniciarCalendarioVisto(){
Sprite sprPantalla("assets/pantalla.png");
Hitbox hitPantalla(300,200,500,-1000000);
auto funcionPantalla=[](Objeto *Pantalla)->bool{ auto funcionPantalla=[](Objeto *Pantalla)->bool{
play_video("assets/MiedoCalendario2","es"); play_video("assets/MiedoCalendario2","es");
return false; return false;
}; };
Objeto Pantalla(sprPantalla,sprPantalla,sprPantalla,hitPantalla,0,100,400,400,normal,funcionPantalla); Objeto Pantalla = generarObjetoPantalla(funcionPantalla);
Objeto Calendario = generarObjetoCalendario();
getPantalla1()->anadirObjeto(Pantalla); getPantalla1()->anadirObjeto(Pantalla);
getPantalla1()->anadirObjeto(Calendario);
auto funcionComprobarPantallaMinimizada = [] (Handle &handle) -> bool { auto funcionComprobarPantallaMinimizada = [] (Handle &handle) -> bool {
std::cout << "Calling hook" << std::endl; std::cout << "Calling hook" << std::endl;
...@@ -60,6 +84,22 @@ static void iniciarCalendarioVisto(){ ...@@ -60,6 +84,22 @@ static void iniciarCalendarioVisto(){
} }
static void iniciarCalendarioQuitado(){
auto funcionPantalla=[](Objeto *Pantalla)->bool{
// TODO
return false;
};
Objeto Pantalla = generarObjetoPantalla(funcionPantalla);
getPantalla1()->anadirObjeto(Pantalla);
}
void Historia::siguienteEstado(Secuencia estado){ void Historia::siguienteEstado(Secuencia estado){
switch (estado){ switch (estado){
case Inicio: case Inicio:
...@@ -71,6 +111,7 @@ void Historia::siguienteEstado(Secuencia estado){ ...@@ -71,6 +111,7 @@ void Historia::siguienteEstado(Secuencia estado){
break; break;
case CalendarioQuitado: case CalendarioQuitado:
iniciarCalendarioQuitado();
break; break;
case PuzlePantallaResuelto: case PuzlePantallaResuelto:
......
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