module Engine.System;
import Engine.Entity;
class System {
@property abstract Timing timing();
abstract void start();
abstract void process();
abstract void onEntityEnter(Entity e);
abstract void onEntityLeave(Entity e);
}
enum Timing {
Awake = 0,
Start = 1000,
Update = 2000,
Draw = 3000,
}