Procházet zdrojové kódy

:bug: 修复问题

youzi-2333 před 2 roky
rodič
revize
13d0cb725e

+ 7 - 6
Plain Craft Launcher 2/Modules/Minecraft/ModModpack.vb

@@ -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

+ 26 - 24
Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml

@@ -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>
 

+ 37 - 32
Plain Craft Launcher 2/Pages/PageVersion/PageVersionExport.xaml.vb

@@ -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