-added some new types to gui manager + some fixes -TexCoordsManager now working (probably) -added CRenderDefault components which makes entities without texcoords possible to draw -makes better way of binding demos to launcher -moved some registration related to rendering to one function (basic components + draw system) -added Sandbox demo (demo which takes all demos to one demo) -extends ParticlesDemo play area -added BirckBreaker demo (WIP) -added special material to additive particles -added whole bunch of rendering code to rendering module -added ability to show filtered entities (blinking)
63 lines
878 B
D
63 lines
878 B
D
module gui.component;
|
|
|
|
import ecs_utils.utils;
|
|
|
|
struct ComponentGUI
|
|
{
|
|
const (char)* name;
|
|
void* data;
|
|
ushort component_id;
|
|
}
|
|
|
|
struct ComponentEditGUI
|
|
{
|
|
const (char)* name;
|
|
VariableGUI[] variables;
|
|
uint used;
|
|
}
|
|
|
|
struct VariableGUI
|
|
{
|
|
struct Int
|
|
{
|
|
int min;
|
|
int max;
|
|
}
|
|
|
|
struct Float
|
|
{
|
|
float min;
|
|
float max;
|
|
}
|
|
|
|
struct Enum
|
|
{
|
|
const (char)[][] strings;
|
|
}
|
|
|
|
enum Type
|
|
{
|
|
byte_,
|
|
ubyte_,
|
|
short_,
|
|
ushort_,
|
|
int_,
|
|
uint_,
|
|
float_,
|
|
enum_,
|
|
color,
|
|
vec2,
|
|
ivec2,
|
|
vec4,
|
|
ivec4
|
|
}
|
|
Type type;
|
|
const (char)* name;
|
|
ushort offset;
|
|
union
|
|
{
|
|
Int int_;
|
|
Float float_;
|
|
Enum enum_;
|
|
}
|
|
}
|