File tree Expand file tree Collapse file tree 2 files changed +15
-9
lines changed
Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Original file line number Diff line number Diff line change @@ -31,18 +31,20 @@ public struct SettingsView: View {
3131 Label ( " settings.game.tab " . localized ( ) , systemImage: " gamecontroller " )
3232 }
3333 . tag ( SettingsTab . game)
34- if selectedGameManager. selectedGameId != nil {
35- GameAdvancedSettingsView ( )
36- . tabItem {
37- Label ( " settings.game.advanced.tab " . localized ( ) , systemImage: " gearshape.2 " )
38- }
39- . tag ( SettingsTab . advanced)
40- }
4134 AISettingsView ( )
4235 . tabItem {
4336 Label ( " settings.ai.tab " . localized ( ) , systemImage: " brain " )
4437 }
4538 . tag ( SettingsTab . ai)
39+ GameAdvancedSettingsView ( )
40+ . tabItem {
41+ Label (
42+ " settings.game.advanced.tab " . localized ( ) ,
43+ systemImage: " gearshape.2 "
44+ )
45+ }
46+ . tag ( SettingsTab . advanced)
47+ . disabled ( selectedGameManager. selectedGameId == nil )
4648 }
4749 . padding ( )
4850 . frame ( maxWidth: . infinity)
Original file line number Diff line number Diff line change @@ -79,9 +79,13 @@ class GameActionManager: ObservableObject {
7979 GameProcessManager . shared. removeGameState ( gameId: game. id)
8080 GameStatusManager . shared. removeGameState ( gameId: game. id)
8181
82- // 先删除游戏文件夹
82+ // 先删除游戏文件夹(若不存在则跳过但继续删记录)
8383 let profileDir = AppPaths . profileDirectory ( gameName: game. gameName)
84- try FileManager . default. removeItem ( at: profileDir)
84+ if FileManager . default. fileExists ( atPath: profileDir. path) {
85+ try FileManager . default. removeItem ( at: profileDir)
86+ } else {
87+ Logger . shared. warning ( " 删除游戏时未找到游戏目录,跳过文件删除: \( profileDir. path) " )
88+ }
8589
8690 // 清除该游戏相关的所有内存缓存(图标、路径、mod 扫描结果)
8791 GameIconCache . shared. invalidateCache ( for: game. gameName)
You can’t perform that action at this time.
0 commit comments