diff options
Diffstat (limited to 'libs/basic_games/basic_features/basic_local_savegames.py')
| -rw-r--r-- | libs/basic_games/basic_features/basic_local_savegames.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libs/basic_games/basic_features/basic_local_savegames.py b/libs/basic_games/basic_features/basic_local_savegames.py new file mode 100644 index 0000000..e0991f8 --- /dev/null +++ b/libs/basic_games/basic_features/basic_local_savegames.py @@ -0,0 +1,27 @@ +from PyQt6.QtCore import QDir + +import mobase + + +class BasicLocalSavegames(mobase.LocalSavegames): + _game: mobase.IPluginGame + + def __init__(self, game: mobase.IPluginGame): + super().__init__() + self._game = game + + def game_save_dir(self) -> str: + return self._game.savesDirectory().absolutePath() + + def mappings(self, profile_save_dir: QDir): + return [ + mobase.Mapping( + source=profile_save_dir.absolutePath(), + destination=self.game_save_dir(), + is_directory=True, + create_target=True, + ) + ] + + def prepareProfile(self, profile: mobase.IProfile) -> bool: + return profile.localSavesEnabled() |
