#include "GestionTerrain.h" #include #include #include #include using namespace godot; GestionTerrain::GestionTerrain() { //Godot::print("Constructeur Terrain"); } GestionTerrain::~GestionTerrain() { Array childrens = this->get_children(); for (int i = 0; i < childrens.size(); i++) { ((Node*)childrens[i])->queue_free(); } } void GestionTerrain::_register_methods() { Godot::print("Register"); register_method("_process", &GestionTerrain::_process); register_method("_init", &GestionTerrain::_init); register_method("_ready", &GestionTerrain::_ready); } void GestionTerrain::_process() { } void GestionTerrain::_init() { } void GestionTerrain::_ready() { } /** * Permet l'ajout de murs * Position dans la largeur * Position dans la hauteur * Echelle en largeur * */ void GestionTerrain::AjoutMur(float sizeX, float sizeY, float posX, float posY) { } /** * Permet l'ajout de sols * Position dans la largeur * Position dans la hauteur * Echelle en largeur * */ void GestionTerrain::AjoutSolSolide(float sizeX, float sizeY, float posX, float posY) { Godot::print("Ajout sol solide"); Transform2D t; Vector2 v; Size2 s; //setup de la size s.x = sizeX; s.y = sizeY; v.x = posX; v.y = posY; t.set_origin(v); t.scale(s); StaticBody2D* m = StaticBody2D::_new(); Sprite* sprite = Sprite::_new(); Ref texture_ptr = ResourceLoader::get_singleton()->load("res://sol.png"); sprite->set_texture(texture_ptr); m->add_child(sprite); m->set_transform(t); add_child(m); elems_terrains.push_back(m); } /** * Permet l'ajout de sols traversables * Position dans la largeur * Position dans la hauteur * Echelle en largeur * */ void GestionTerrain::AjoutSolTraversable(float sizeX, float sizeY, float posX, float posY) { } /** * Permet la suppression de tous les elements du terrains */ void GestionTerrain::SuppressionTout() { } /** * Permet une génération de base des éléments du terrains */ void GestionTerrain::GenerationCarte() { AjoutSolSolide(1, 1, 85, 300); AjoutSolSolide(1, 1, 255, 300); AjoutSolSolide(1, 1, 340, 300); AjoutSolSolide(1, 1, 425, 300); }