PageVersionExport.xaml.vb 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. Public Class PageVersionExport
  2. Private Sub PageVersionExport_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
  3. TbExportName.HintText = PageVersionLeft.Version.Name
  4. Reload()
  5. End Sub
  6. Public ItemVersion As MyListItem
  7. Public Sub Reload()
  8. PanDisplayItem.Children.Clear()
  9. ItemVersion = PageSelectRight.McVersionListItem(PageVersionLeft.Version)
  10. ItemVersion.IsHitTestVisible = False
  11. PanDisplayItem.Children.Add(ItemVersion)
  12. End Sub
  13. Private Type As ModpackType = ModpackType.Modrinth
  14. Private SelectedSaves As New List(Of Integer)
  15. Private ReadOnly Property Saves As List(Of String)
  16. Get
  17. If Directory.Exists(PageVersionLeft.Version.Path & "saves\") Then
  18. Return Directory.EnumerateDirectories(PageVersionLeft.Version.Path & "saves\").ToList
  19. End If
  20. Return New List(Of String)
  21. End Get
  22. End Property
  23. #Region "整合包信息 & 预览栏"
  24. Private Sub TbExportName_TextChanged(sender As MyTextBox, e As TextChangedEventArgs) Handles TbExportName.TextChanged
  25. ItemVersion.Title = If(String.IsNullOrWhiteSpace(sender.Text), PageVersionLeft.Version.Name, sender.Text)
  26. End Sub
  27. #End Region
  28. #Region "导出"
  29. Private Function IncludePCL() As Boolean
  30. Return True
  31. End Function
  32. 'Private Sub ComboExportType_Change(sender As ComboBox, e As SelectionChangedEventArgs) Handles ComboExportType.SelectionChanged
  33. ' If AniControlEnabled <> 0 Then Exit Sub
  34. ' Type = sender.SelectedIndex
  35. ' Select Case Type
  36. ' Case ModpackType.Modrinth
  37. ' If IncludePCL() Then 'TODO:修改这里的条件
  38. ' If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Visible
  39. ' If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Collapsed
  40. ' Else
  41. ' If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Collapsed
  42. ' If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Visible
  43. ' End If
  44. ' End Select
  45. ' CardExport.TriggerForceResize()
  46. 'End Sub
  47. Private Sub BtnExportExport_Click() Handles BtnExportExport.Click
  48. If IncludePCL() AndAlso Val(VersionBranchCode) <> 50 Then
  49. If MyMsgBox("你当前的 PCL 不是正式版,有二次分发(制作压缩包)的限制。" & vbCrLf &
  50. "请使用正式版再次尝试该操作!" & vbCrLf &
  51. "其他类型的整合包(例如 Modrinth 整合包)没有该限制。", Button1:="下载正式版", Button2:="取消") = 1 Then
  52. OpenWebsite("https://afdian.net/p/0164034c016c11ebafcb52540025c377")
  53. End If
  54. Exit Sub
  55. End If
  56. Dim savePath As String = SelectAs(
  57. "选择导出位置", $"整合包 - {If(String.IsNullOrWhiteSpace(TbExportName.Text), PageVersionLeft.Version.Name, TbExportName.Text)}" & If(Type = ModpackType.Modrinth, ".mrpack", ".zip"),
  58. If(Type = ModpackType.Modrinth, "Modrinth 整合包(*.mrpack)|*.mrpack", "整合包文件(*.zip)|*.zip"))
  59. If String.IsNullOrEmpty(savePath) Then Exit Sub
  60. ModpackExport(New ExportOptions(PageVersionLeft.Version, savePath, Type, {}, 'TODO:改成要保留的文件列表
  61. Name:=TbExportName.Text, VerID:=TbExportVersion.Text))
  62. End Sub
  63. #End Region
  64. End Class