🐛 修复问题
This commit is contained in:
@@ -919,12 +919,13 @@ Retry:
|
||||
''' </summary>
|
||||
Public Sub ModpackExport(Options As ExportOptions)
|
||||
Hint("正在导出……")
|
||||
RunInNewThread(Sub()
|
||||
If ModpackExportBlocking(Options) Then
|
||||
Hint("导出成功!", HintType.Finish)
|
||||
OpenExplorer($"""{GetPathFromFullPath(Options.Dest)}""")
|
||||
End If
|
||||
End Sub, "Modpack Export")
|
||||
RunInNewThread(
|
||||
Sub()
|
||||
If ModpackExportBlocking(Options) Then
|
||||
Hint("导出成功!", HintType.Finish)
|
||||
OpenExplorer($"""{GetPathFromFullPath(Options.Dest)}""")
|
||||
End If
|
||||
End Sub, "Modpack Export")
|
||||
End Sub
|
||||
Private Function ModpackExportBlocking(Options As ExportOptions) As Boolean
|
||||
If Options.IncludePCL Then
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
<StackPanel Margin="25,10">
|
||||
|
||||
<local:MyCard Margin="0,15" Title="">
|
||||
<Grid Margin="10,7" Name="PanDisplayItem" />
|
||||
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4" Text="空白填充" />
|
||||
<Grid Margin="10,7,10,7" Name="PanDisplayItem" />
|
||||
<local:MyButton x:Name="BtnExportExport" Margin="0,0,10,0" HorizontalAlignment="Right" Text="导出整合包" Height="35" Width="150" ColorType="Highlight" />
|
||||
</local:MyCard>
|
||||
|
||||
<local:MyCard x:Name="CardExport" Margin="0,0,0,15" Title="整合包信息">
|
||||
@@ -33,11 +33,10 @@
|
||||
<TextBlock Grid.Row="0" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包名称" Margin="0,0,25,0" />
|
||||
<local:MyTextBox Grid.Row="0" x:Name="TbExportName" Grid.ColumnSpan="2" Tag="VersionArgumentTitle" Grid.Column="1" MaxLength="100" />
|
||||
<TextBlock Grid.Row="2" VerticalAlignment="Center" HorizontalAlignment="Left" Text="图标" Margin="0,0,25,0" />
|
||||
<local:MyComboBox Grid.Row="2" Grid.ColumnSpan="2" Grid.Column="1">
|
||||
<local:MyComboBox x:Name="ItemDisplayLogoCustom" Grid.Row="2" Grid.ColumnSpan="2" Grid.Column="1">
|
||||
<local:MyComboBoxItem Content="自动" IsSelected="True" Tag="" />
|
||||
<!-- 此处需要添加一个自定义图标 -->
|
||||
<local:MyComboBoxItem Content="自定义..." />
|
||||
<!--x:Name="ItemDisplayLogoCustom"-->
|
||||
<local:MyComboBoxItem Content="圆石" Tag="pack://application:,,,/images/Blocks/CobbleStone.png" />
|
||||
<local:MyComboBoxItem Content="命令方块" Tag="pack://application:,,,/images/Blocks/CommandBlock.png" />
|
||||
<local:MyComboBoxItem Content="金块" Tag="pack://application:,,,/images/Blocks/GoldBlock.png" />
|
||||
@@ -54,14 +53,12 @@
|
||||
<TextBlock Grid.Row="4" VerticalAlignment="Center" HorizontalAlignment="Left" Text="整合包版本" Margin="0,0,25,0" />
|
||||
<local:MyTextBox Grid.Row="4" x:Name="TbExportVersion" HintText="1.0.0" Grid.ColumnSpan="2" Tag="VersionArgumentTitle" Grid.Column="1" MaxLength="100" />
|
||||
</Grid>
|
||||
<local:MyButton x:Name="BtnExportExport" HorizontalAlignment="Left" Text="导出整合包" Height="35" Width="150" ColorType="Highlight" />
|
||||
<local:MyListItem Title="游戏存档" />
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
|
||||
<local:MyCard x:Name="CardSwitch" Margin="0,0,0,15" Title="基础选项">
|
||||
<StackPanel Margin="25,38,15,15">
|
||||
<TextBlock Margin="0,1,0,1" Text="你可以在此勾选需要包含进整合包的文件或者文件夹,其他文件或者文件夹在高级选项添加。" TextWrapping="Wrap" />
|
||||
<TextBlock Margin="0,1,0,1" Text="你可以在此勾选需要包含进整合包的文件或文件夹,其他文件或文件夹在高级选项添加。" TextWrapping="Wrap" />
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto" />
|
||||
@@ -77,31 +74,36 @@
|
||||
<RowDefinition Height="4" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="30" />
|
||||
<RowDefinition Height="Auto" />
|
||||
</Grid.RowDefinitions>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2" Text="服务器文件"
|
||||
ToolTip="server.dat文件"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="3" Text="模组配置"
|
||||
ToolTip="config文件夹"/>
|
||||
<TextBlock Text="游戏配置" VerticalAlignment="Center" Grid.Column="0" Grid.Row="1" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2" Text="服务器列表"
|
||||
ToolTip="server.dat 文件" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="3" Text="Mod 配置"
|
||||
ToolTip="config 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="4" Text="游戏配置"
|
||||
ToolTip="options.txt文件"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="5" Text="存档"
|
||||
ToolTip="默认包含整个存档文件夹"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="6" Text="材质包"
|
||||
ToolTip="默认包含整个材质包文件夹"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="1" Grid.Column="7" Text="光影包"
|
||||
ToolTip="默认包含整个光影包文件夹"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="2" Text="包含启动器"
|
||||
ToolTip="勾选将pcl2包含在整合包内"/>
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="3" Text="启动器全局配置"
|
||||
ToolTip="勾选将启动器的全局配置包含在整合包内"/>
|
||||
ToolTip="options.txt 文件" />
|
||||
<TextBlock Text="游戏文件" VerticalAlignment="Center" Grid.Column="0" Grid.Row="2" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="2" Text="存档"
|
||||
ToolTip="saves 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="3" Text="材质包"
|
||||
ToolTip="resourcepacks 文件夹" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="2" Grid.Column="4" Text="光影包"
|
||||
ToolTip="shaderpacks 文件夹" />
|
||||
<TextBlock Text="PCL 配置" VerticalAlignment="Center" Grid.Column="0" Grid.Row="3" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2" Text="包含启动器"
|
||||
ToolTip="将 PCL 程序包含在整合包内" />
|
||||
<local:MyCheckBox Height="22" VerticalAlignment="Center" Grid.Row="3" Grid.Column="3" Text="PCL 全局配置"
|
||||
ToolTip="将 PCL 全局配置包含在整合包内" />
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
|
||||
</local:MyCard>
|
||||
<local:MyCard Title="高级选项" Margin="0,0,0,15" CanSwap="True" IsSwaped="True">
|
||||
<StackPanel Margin="25,40,23,15">
|
||||
<TextBlock TextWrapping="Wrap" Margin="0,0,0,4" Text="空白填充" />
|
||||
<StackPanel x:Name="PanFileList" Margin="25,40,23,15">
|
||||
<local:MyListItem Type="CheckBox" Title="游戏存档" Height="35" />
|
||||
<local:MyListItem Type="CheckBox" Title="游戏存档" Height="35" />
|
||||
</StackPanel>
|
||||
</local:MyCard>
|
||||
|
||||
|
||||
@@ -1,42 +1,53 @@
|
||||
Public Class PageVersionExport
|
||||
Private Sub PageVersionExport_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
TbExportName.HintText = PageVersionLeft.Version.Name
|
||||
Reload()
|
||||
End Sub
|
||||
|
||||
Public ItemVersion As MyListItem
|
||||
Public Sub Reload()
|
||||
PanDisplayItem.Children.Clear()
|
||||
ItemVersion = PageSelectRight.McVersionListItem(PageVersionLeft.Version)
|
||||
ItemVersion.IsHitTestVisible = False
|
||||
PanDisplayItem.Children.Add(ItemVersion)
|
||||
End Sub
|
||||
|
||||
Private CurrentVersion As McVersion = PageVersionLeft.Version
|
||||
Private Type As ModpackType = ModpackType.Modrinth
|
||||
Private SelectedSaves As New List(Of Integer)
|
||||
Private ReadOnly Property Saves As List(Of String)
|
||||
Get
|
||||
If Directory.Exists(CurrentVersion.Path & "saves\") Then
|
||||
Return Directory.EnumerateDirectories(CurrentVersion.Path & "saves\").ToList
|
||||
If Directory.Exists(PageVersionLeft.Version.Path & "saves\") Then
|
||||
Return Directory.EnumerateDirectories(PageVersionLeft.Version.Path & "saves\").ToList
|
||||
End If
|
||||
Return New List(Of String)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Sub PageVersionExport_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
CurrentVersion = PageVersionLeft.Version '各个版本不同,每次都需要重新加载
|
||||
TbExportName.HintText = CurrentVersion.Name
|
||||
#Region "整合包信息 & 预览栏"
|
||||
Private Sub TbExportName_TextChanged(sender As MyTextBox, e As TextChangedEventArgs) Handles TbExportName.TextChanged
|
||||
ItemVersion.Title = If(String.IsNullOrWhiteSpace(sender.Text), PageVersionLeft.Version.Name, sender.Text)
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "控件事件"
|
||||
#Region "导出"
|
||||
Private Function IncludePCL() As Boolean
|
||||
Return True
|
||||
End Function
|
||||
Private Sub ComboExportType_Change(sender As ComboBox, e As SelectionChangedEventArgs) Handles ComboExportType.SelectionChanged
|
||||
If AniControlEnabled <> 0 Then Exit Sub
|
||||
Type = sender.SelectedIndex
|
||||
Select Case Type
|
||||
Case ModpackType.Modrinth
|
||||
If IncludePCL() Then 'TODO:修改这里的条件
|
||||
If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Visible
|
||||
If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Collapsed
|
||||
Else
|
||||
If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Collapsed
|
||||
If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Visible
|
||||
End If
|
||||
End Select
|
||||
CardExport.TriggerForceResize()
|
||||
End Sub
|
||||
If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Visible
|
||||
'Private Sub ComboExportType_Change(sender As ComboBox, e As SelectionChangedEventArgs) Handles ComboExportType.SelectionChanged
|
||||
' If AniControlEnabled <> 0 Then Exit Sub
|
||||
' Type = sender.SelectedIndex
|
||||
' Select Case Type
|
||||
' Case ModpackType.Modrinth
|
||||
' If IncludePCL() Then 'TODO:修改这里的条件
|
||||
' If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Visible
|
||||
' If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Collapsed
|
||||
' Else
|
||||
' If GridCompressed IsNot Nothing Then GridCompressed.Visibility = Visibility.Collapsed
|
||||
' If GridModrinth IsNot Nothing Then GridModrinth.Visibility = Visibility.Visible
|
||||
' End If
|
||||
' End Select
|
||||
' CardExport.TriggerForceResize()
|
||||
'End Sub
|
||||
Private Sub BtnExportExport_Click() Handles BtnExportExport.Click
|
||||
If IncludePCL() AndAlso Val(VersionBranchCode) <> 50 Then
|
||||
If MyMsgBox("你当前的 PCL 不是正式版,有二次分发(制作压缩包)的限制。" & vbCrLf &
|
||||
@@ -47,17 +58,11 @@
|
||||
Exit Sub
|
||||
End If
|
||||
Dim savePath As String = SelectAs(
|
||||
"选择导出位置", $"整合包 - {If(String.IsNullOrWhiteSpace(TbExportName.Text), CurrentVersion.Name, TbExportName.Text)}" & If(Type = ModpackType.Modrinth, ".mrpack", ".zip"),
|
||||
"选择导出位置", $"整合包 - {If(String.IsNullOrWhiteSpace(TbExportName.Text), PageVersionLeft.Version.Name, TbExportName.Text)}" & If(Type = ModpackType.Modrinth, ".mrpack", ".zip"),
|
||||
If(Type = ModpackType.Modrinth, "Modrinth 整合包(*.mrpack)|*.mrpack", "整合包文件(*.zip)|*.zip"))
|
||||
If String.IsNullOrEmpty(savePath) Then Exit Sub
|
||||
ModpackExport(New ExportOptions(CurrentVersion, savePath, Type, {TbExportSave.Text},
|
||||
PCLSetupGlobal:=CheckExportGlobal.Checked, Name:=TbExportName.Text,
|
||||
VerID:=TbExportVersion.Text))
|
||||
End Sub
|
||||
ModpackExport(New ExportOptions(CurrentVersion, savePath, Type, {TbExportSave.Text},
|
||||
PCLSetupGlobal:=CheckExportGlobal.Checked,
|
||||
PCLSetupVer:=CheckExportVersion.Checked, Name:=TbExportName.Text,
|
||||
VerID:=TbExportVersion.Text))
|
||||
ModpackExport(New ExportOptions(PageVersionLeft.Version, savePath, Type, {}, 'TODO:改成要保留的文件列表
|
||||
Name:=TbExportName.Text, VerID:=TbExportVersion.Text))
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
Reference in New Issue
Block a user