aboutsummaryrefslogtreecommitdiff
path: root/libs/basic_games/basic_features/basic_local_savegames.py
blob: e0991f85eaeaf74378a664beb4b187c56e05612b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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()