PageSetupSystem.xaml.vb 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. Class PageSetupSystem
  2. Private Sub PageSetupSystem_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
  3. '重复加载部分
  4. PanBack.ScrollToHome()
  5. If BuildType = BuildTypes.Release Then
  6. PanDonate.Visibility = Visibility.Collapsed
  7. Else
  8. PanDonate.Visibility = Visibility.Visible
  9. ItemSystemUpdateDownload.Content = "在有新版本时自动下载(更新快照版前需要先输入土豆码)"
  10. End If
  11. '非重复加载部分
  12. Static IsLoaded As Boolean = False
  13. If IsLoaded Then Return
  14. IsLoaded = True
  15. AniControlEnabled += 1
  16. Reload()
  17. SliderLoad()
  18. AniControlEnabled -= 1
  19. End Sub
  20. Public Sub Reload()
  21. SettingService.RefreshSettings(Me)
  22. End Sub
  23. Public Sub Reset()
  24. Try
  25. SettingService.ResetSettings(Me)
  26. Log("[Setup] 已初始化启动器页设置")
  27. Hint("已初始化启动器页设置!", HintType.Green, False)
  28. Catch ex As Exception
  29. Log(ex, "初始化启动器页设置失败", NotifyLevel.MsgBox)
  30. End Try
  31. Reload()
  32. End Sub
  33. '滑动条
  34. Private Sub SliderLoad()
  35. SliderDownloadThread.GetHintText = Function(v) v + 1
  36. SliderDownloadSpeed.GetHintText =
  37. Function(v)
  38. Select Case v
  39. Case Is <= 14
  40. Return (v + 1) * 0.1 & " M/s"
  41. Case Is <= 31
  42. Return (v - 11) * 0.5 & " M/s"
  43. Case Is <= 41
  44. Return (v - 21) & " M/s"
  45. Case Else
  46. Return "无限制"
  47. End Select
  48. End Function
  49. SliderDebugAnim.GetHintText = Function(v) If(v > 29, "关闭", (v / 10 + 0.1) & "x")
  50. End Sub
  51. Private Sub SliderDownloadThread_PreviewChange(sender As Object, e As RouteEventArgs) Handles SliderDownloadThread.PreviewChange
  52. If SliderDownloadThread.Value < 100 Then Return
  53. If Not Settings.Get("HintDownloadThread") Then
  54. Settings.Set("HintDownloadThread", True)
  55. MyMsgBox("如果设置过多的下载线程,可能会导致下载时出现非常严重的卡顿。" & vbCrLf &
  56. "一般设置 64 线程即可满足大多数下载需求,除非你知道你在干什么,否则不建议设置更多的线程数!", "警告", "我知道了", IsWarn:=True)
  57. End If
  58. End Sub
  59. '识别码/土豆码替代入口
  60. Private Sub BtnSystemIdentify_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnSystemIdentify.Click
  61. PageOtherAbout.CopyIdentify()
  62. End Sub
  63. Private Sub BtnSystemUnlock_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnSystemUnlock.Click
  64. InputPotatoCode(False)
  65. End Sub
  66. '调试模式
  67. Private Sub CheckDebugMode_Change() Handles CheckDebugMode.Change
  68. If AniControlEnabled = 0 Then Hint("部分调试信息将在刷新或启动器重启后切换显示!",, False)
  69. End Sub
  70. '自动更新
  71. Private Sub ComboSystemActivity_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboSystemActivity.SelectionChanged
  72. If AniControlEnabled <> 0 Then Return
  73. If ComboSystemActivity.SelectedIndex <> 2 Then Return
  74. If MyMsgBox("若选择此项,即使在将来出现严重问题时,你也无法获取相关通知。" & vbCrLf &
  75. "例如,如果发现某个版本游戏存在严重 Bug,你可能就会因为无法得到通知而导致无法预知的后果。" & vbCrLf & vbCrLf &
  76. "一般选择 仅在有重要通知时显示公告 就可以让你尽量不受打扰了。" & vbCrLf &
  77. "除非你在制作服务器整合包,或时常手动更新启动器,否则极度不推荐选择此项!", "警告", "我知道我在做什么", "取消", IsWarn:=True) = 2 Then
  78. ComboSystemActivity.SelectedItem = e.RemovedItems(0)
  79. End If
  80. End Sub
  81. Private Sub ComboSystemUpdate_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ComboSystemUpdate.SelectionChanged
  82. If AniControlEnabled <> 0 Then Return
  83. If ComboSystemUpdate.SelectedIndex <> 3 Then Return
  84. If MyMsgBox("若选择此项,即使在启动器将来出现严重问题时,你也无法获取更新并获得修复。" & vbCrLf &
  85. "例如,如果官方修改了登录方式,从而导致现有启动器无法登录,你可能就会因为无法更新而无法开始游戏。" & vbCrLf & vbCrLf &
  86. "一般选择 仅在有重大漏洞更新时显示提示 就可以让你尽量不受打扰了。" & vbCrLf &
  87. "除非你在制作服务器整合包,或时常手动更新启动器,否则极度不推荐选择此项!", "警告", "我知道我在做什么", "取消", IsWarn:=True) = 2 Then
  88. ComboSystemUpdate.SelectedItem = e.RemovedItems(0)
  89. End If
  90. End Sub
  91. Private Sub BtnSystemUpdate_Click(sender As Object, e As EventArgs) Handles BtnSystemUpdate.Click
  92. UpdateCheckByButton()
  93. End Sub
  94. ''' <summary>
  95. ''' 启动器是否已经是最新版?
  96. ''' 若返回 Nothing,则代表无更新缓存文件或出错。
  97. ''' </summary>
  98. Public Shared Function IsLauncherNewest() As Boolean?
  99. Try
  100. '确认服务器公告是否正常
  101. Dim ServerContent As String = ReadFile(PathTemp & "Cache\Notice.cfg")
  102. If ServerContent.Split("|").Count < 3 Then Return Nothing
  103. '确认是否为最新
  104. Return ServerContent.Split("|")(If(BuildType = BuildTypes.Release, 2, 1)) <= VersionCode
  105. Catch ex As Exception
  106. Log(ex, "确认启动器更新失败", NotifyLevel.MsgBoxAndFeedback)
  107. Return Nothing
  108. End Try
  109. End Function
  110. #Region "导出 / 导入设置"
  111. Private Sub BtnSystemSettingExp_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnSystemSettingExp.Click
  112. Hint("该功能尚在开发中!")
  113. End Sub
  114. Private Sub BtnSystemSettingImp_Click(sender As Object, e As MouseButtonEventArgs) Handles BtnSystemSettingImp.Click
  115. Hint("该功能尚在开发中!")
  116. End Sub
  117. #End Region
  118. End Class