A small game engine for 2D games based of Raylib
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

28 linhas
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);
};
}