Skip to content

Commit c04de2e

Browse files
authored
Merge pull request #170 from suhang12332/dev
feat: 优化游戏高级设置显示
2 parents 3e05a6d + a18cdcb commit c04de2e

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

SwiftCraftLauncher/Common/Views/SettingsView.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff 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)

SwiftCraftLauncher/Utils/GameActionManager.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff 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)

0 commit comments

Comments
 (0)