A small game engine for 2D games based of Raylib
Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

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