On 5/23/20 3:04 PM, Tim wrote:
I have a base class GameObject:
/// Base class of most objects in the game
class GameObject{
this(){
world[layer] = this;
}
abstract void update(){}
void draw(){}
}
I want to make sure that whenever a class inherits from this, the base
constructor is always called. Either that or have an assertion that
gives an error if it isn't called.
Thanks
Is it not already called? I tried the following and it seems to work:
import std.stdio;
GameObject[1] world;
enum layer = 0;
/// Base class of most objects in the game
class GameObject{
this(){
world[layer] = this;
writeln("called");
}
abstract void update(){}
void draw(){}
}
class A : GameObject {
this(int i) {
writeln(__FUNCTION__);
}
override void update() {
}
}
void main() {
auto a = new A(42);
}
Ali