A small game engine for 2D games based of Raylib
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

28 lignes
985 B

#pragma once
#include "component.h"
#include <string>
#include "raylib.h"
#include "transform.h"
namespace ant::components::ui {
struct panel_component : public ant::core::component {
panel_component() {}
panel_component(
int layer = 0,
Color color = BLUE,
ant::core::Vec2<> size = {100,100},
ant::core::Vec2<> scale = {1,1}
);
std::string name() override {return "panel_component";}
void initialize() override;
void render() override;
void update(std::chrono::duration<double>) override;
ant::core::Vec2<> scale();
private:
ant::core::Vec2<> m_size;
ant::core::Vec2<> m_scale;
int m_layer; //< This is ignored if a parent panel is found, panels bleed up to one layer below their current layer
Color m_color;
std::weak_ptr<panel_component> m_parent_panel = std::shared_ptr<panel_component>(nullptr);
};
}