void Game::draw() { screen_stack->draw(); }
void Game::clear_screens() { screen_stack->clear_screens(); }
+
+void Game::clear_and_push_trunner() {
+ screen_stack->clear_screens();
+ screen_stack->push_constructing_screen<TRunnerScreen>();
+}
void draw();
void clear_screens();
+ void clear_and_push_trunner();
private:
ScreenStack::Ptr screen_stack;
#ifdef __EMSCRIPTEN__
-extern Game *global_game_ptr = nullptr;
+extern Game *global_game_ptr;
extern "C" {
return 1;
}
+int EMSCRIPTEN_KEEPALIVE clear_and_push_trunner() {
+ if (global_game_ptr) {
+ global_game_ptr->clear_and_push_trunner();
+ return 0;
+ }
+ return 1;
+}
+
} // extern "C"
#endif
console.log("onerror: " + event);
};
function demo0_clear_all_screens() {
- Module.ccall('clear_all_screens', 'number', [], []);
+ return Module.ccall('clear_all_screens', 'number', [], []);
+ };
+ function demo0_clear_and_push_trunner() {
+ return Module.ccall('clear_and_push_trunner', 'number', [], []);
};
</script>
{{{ SCRIPT }}}