From cfb5cefff14955d2ca95aff7ff00984ab8676085 Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Sat, 13 Aug 2016 21:35:26 +0200 Subject: [PATCH] add UnloadAllGamestates function --- src/gamestate.c | 8 ++++++++ src/gamestate.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/gamestate.c b/src/gamestate.c index aa1c4fe..dece1a4 100644 --- a/src/gamestate.c +++ b/src/gamestate.c @@ -165,6 +165,14 @@ SYMBOL_EXPORT void ResumeGamestate(struct Game *game, const char* name) { } } +SYMBOL_EXPORT void UnloadAllGamestates(struct Game *game) { + struct Gamestate *tmp = game->_priv.gamestates; + while (tmp) { + UnloadGamestate(game, tmp->name); + tmp = tmp->next; + } +} + SYMBOL_EXPORT void SwitchGamestate(struct Game *game, const char* current, const char* n) { StopGamestate(game, current); UnloadGamestate(game, current); diff --git a/src/gamestate.h b/src/gamestate.h index 2d90618..b006d0d 100644 --- a/src/gamestate.h +++ b/src/gamestate.h @@ -58,6 +58,7 @@ void StartGamestate(struct Game *game, const char* name); void StopGamestate(struct Game *game, const char* name); void PauseGamestate(struct Game *game, const char* name); void ResumeGamestate(struct Game *game, const char* name); +void UnloadAllGamestates(struct Game *game); void SwitchGamestate(struct Game *game, const char* current, const char* n); #endif