[core] disallow subtyping of gl::Attributes<> and use type aliases instead
This commit is contained in:
@@ -17,13 +17,7 @@ using CollisionBoxLayoutAttributes = gl::Attributes<
|
||||
attributes::a_anchor_pos,
|
||||
attributes::a_extrude>;
|
||||
|
||||
struct CollisionBoxDynamicAttributes : gl::Attributes<attributes::a_placed> {
|
||||
static Vertex vertex(bool placed, bool notUsed) {
|
||||
return Vertex {
|
||||
{{ static_cast<uint8_t>(placed), static_cast<uint8_t>(notUsed) }}
|
||||
};
|
||||
}
|
||||
};
|
||||
using CollisionBoxDynamicAttributes = gl::Attributes<attributes::a_placed>;
|
||||
|
||||
class CollisionBoxProgram : public Program<
|
||||
shaders::collision_box,
|
||||
@@ -38,8 +32,8 @@ class CollisionBoxProgram : public Program<
|
||||
public:
|
||||
using Program::Program;
|
||||
|
||||
static CollisionBoxLayoutAttributes::Vertex vertex(Point<float> a, Point<float> anchor, Point<float> o) {
|
||||
return CollisionBoxLayoutAttributes::Vertex {
|
||||
static CollisionBoxLayoutAttributes::Vertex layoutVertex(Point<float> a, Point<float> anchor, Point<float> o) {
|
||||
return {
|
||||
{{
|
||||
static_cast<int16_t>(a.x),
|
||||
static_cast<int16_t>(a.y)
|
||||
@@ -55,6 +49,12 @@ public:
|
||||
};
|
||||
}
|
||||
|
||||
static CollisionBoxDynamicAttributes::Vertex dynamicVertex(bool placed, bool notUsed) {
|
||||
return {
|
||||
{{ static_cast<uint8_t>(placed), static_cast<uint8_t>(notUsed) }}
|
||||
};
|
||||
}
|
||||
|
||||
template <class DrawMode>
|
||||
void draw(gl::Context& context,
|
||||
DrawMode drawMode,
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
using Program::Program;
|
||||
|
||||
static CollisionBoxLayoutAttributes::Vertex vertex(Point<float> a, Point<float> anchor, Point<float> o) {
|
||||
return CollisionBoxLayoutAttributes::Vertex {
|
||||
return {
|
||||
{{
|
||||
static_cast<int16_t>(a.x),
|
||||
static_cast<int16_t>(a.y)
|
||||
|
||||
Reference in New Issue
Block a user