Make games run and continuously provide feedback which can be responsible for things like saving replays to file/database, sending messages to clients, run AIs, etc.
Use suspending functions to call the listeners. Kotlin SharedFlows (#299) can be useful here.
Make games run and continuously provide feedback which can be responsible for things like saving replays to file/database, sending messages to clients, run AIs, etc.
Use suspending functions to call the listeners. Kotlin SharedFlows (#299) can be useful here.