cleanup code

This commit is contained in:
2022-08-28 01:08:04 -04:00
parent 3c8107ba9f
commit 39173cef21
18 changed files with 393 additions and 451 deletions

View File

@@ -1,54 +1,49 @@
#include "gui/game_over/GameOverScreen.h"
#include "Event.h"
#include <Resource.hpp>
#include <Ref.hpp>
#include <Node.hpp>
#include <SceneTree.hpp>
#include <PackedScene.hpp>
#include <Ref.hpp>
#include <Resource.hpp>
#include <SceneTree.hpp>
#include <Viewport.hpp>
using namespace godot;
void GameOverScreen::_register_methods()
void alai::GameOverScreen::_register_methods()
{
register_method("_on_botonreiniciar_pressed", &GameOverScreen::_on_botonreiniciar_pressed);
register_method("_on_restart_button_pressed", &GameOverScreen::_on_restart_button_pressed);
register_method("_ready", &GameOverScreen::_ready);
register_method("connect_signal", &GameOverScreen::connect_signal);
register_method("_on_player_died", &GameOverScreen::_on_player_died);
}
GameOverScreen::GameOverScreen()
alai::GameOverScreen::GameOverScreen()
{
}
GameOverScreen::~GameOverScreen()
alai::GameOverScreen::~GameOverScreen()
{
}
void GameOverScreen::_init()
void alai::GameOverScreen::_init()
{
_resource_loader = ResourceLoader::get_singleton();
_resource_loader = godot::ResourceLoader::get_singleton();
}
void GameOverScreen::_ready()
void alai::GameOverScreen::_ready()
{
connect_signal();
}
void GameOverScreen::_on_botonreiniciar_pressed()
void alai::GameOverScreen::_on_restart_button_pressed()
{
if (_resource_loader->exists("res://levels/Prototype.tscn")) //CAMBIAR A DINAMICO
if (_resource_loader->exists("res://levels/Prototype.tscn"))
{
Ref<PackedScene> level_scene = _resource_loader->load("res://levels/Prototype.tscn");
godot::Ref<godot::PackedScene> level_scene = _resource_loader->load("res://levels/Prototype.tscn");
auto level = level_scene->instance();
auto level_node = get_tree()->get_root()->get_node("Main")->find_node("Level");
if (level_node != nullptr)
{
level_node->add_child(level);
set_visible(false);
call_deferred("connect_signal");
@@ -57,16 +52,13 @@ void GameOverScreen::_on_botonreiniciar_pressed()
{
WARN_PRINT("Node level not found!");
}
}
}
void GameOverScreen::_on_player_died() //eliminar nivel
void alai::GameOverScreen::_on_player_died()
{
auto event = get_node<alai::Event>("/root/Event");
event->disconnect("player_died", this, "_on_player_died");
Godot::print("player ded");
set_visible(true);
auto level_node = get_tree()->get_root()->get_node("Main")->find_node("Level");
if (level_node != nullptr)
@@ -74,6 +66,7 @@ void GameOverScreen::_on_player_died() //eliminar nivel
auto child = level_node->get_child(0);
if (child != nullptr)
{
// Delete the currently active level from the tree.
child->queue_free();
}
else
@@ -85,14 +78,10 @@ void GameOverScreen::_on_player_died() //eliminar nivel
{
WARN_PRINT("Node level not found!");
}
}
void GameOverScreen::connect_signal()
void alai::GameOverScreen::connect_signal()
{
auto event = get_node<alai::Event>("/root/Event");
event->connect("player_died", this, "_on_player_died");
}

View File

@@ -1,62 +1,59 @@
#ifndef ALAI_GAME_OVER_SCREEN_H
#define ALAI_GAME_OVER_SCREEN_H
#include <Godot.hpp>
#include <CanvasLayer.hpp>
#include <Godot.hpp>
#include <ResourceLoader.hpp>
namespace godot
namespace alai
{
/**
* @brief This class controls what happens when the Coin is in the collected .
*
*/
class GameOverScreen : public CanvasLayer
{
GODOT_CLASS(GameOverScreen, CanvasLayer)
/**
* @brief This class controls what happens when the Coin is in the collected .
*
*/
class GameOverScreen : public godot::CanvasLayer
{
GODOT_CLASS(GameOverScreen, godot::CanvasLayer)
private:
ResourceLoader *_resource_loader;
public:
/**
* @brief This method registers classes with Godot.
*
* @details This method registers methods, properties, and signals with the Godot engine.
*/
static void _register_methods();
private:
godot::ResourceLoader *_resource_loader;
/**
* @brief Construct a new GameOverScreen object.
*
*/
GameOverScreen();
public:
/**
* @brief This method registers classes with Godot.
*
* @details This method registers methods, properties, and signals with the Godot engine.
*/
static void _register_methods();
/**
* @brief Destroy the GameOverScreen object.
*
*/
~GameOverScreen();
/**
* @brief Construct a new GameOverScreen object.
*
*/
GameOverScreen();
/**
* @brief Initialize the class from Godot.
*
* @details This method is called just once when the Godot engine connects to the instance of the class.
*/
void _init();
/**
* @brief Destroy the GameOverScreen object.
*
*/
~GameOverScreen();
/**
* @brief Called when the collected of the coin is entered.
*
*/
void _ready();
void _on_player_died();
void _on_botonreiniciar_pressed();
void connect_signal();
};
/**
* @brief Initialize the class from Godot.
*
* @details This method is called just once when the Godot engine connects to the instance of the class.
*/
void _init();
/**
* @brief Called when the collected of the coin is entered.
*
*/
void _ready();
void _on_player_died();
void _on_restart_button_pressed();
void connect_signal();
};
}
#endif
#endif