module components.lights; import core.properties; import components.component; import graphics.shaders; import gl3n.linalg; class Light : Component { public: mixin Property!( "vec3", "color", "public" ); this( vec3 color ) { super( null ); this.color = color; } override void update() { } override void shutdown() { } } class AmbientLight : Light { this( vec3 color ) { super( color ); } } class DirectionalLight : Light { public: mixin Property!( "vec3", "direction" ); this( vec3 color, vec3 direction ) { this.direction = direction; super( color ); } }