53 lines
2.3 KiB
VB.net
53 lines
2.3 KiB
VB.net
Public Class PageDownloadLiteLoader
|
|
|
|
Private Sub LoaderInit() Handles Me.Initialized
|
|
PageLoaderInit(Load, PanLoad, PanMain, CardTip, DlLiteLoaderListLoader, AddressOf Load_OnFinish)
|
|
End Sub
|
|
Private Sub Init() Handles Me.Loaded
|
|
PanBack.ScrollToHome()
|
|
End Sub
|
|
|
|
Private Sub Load_OnFinish()
|
|
'结果数据化
|
|
Try
|
|
'归类
|
|
Dim Dict As New Dictionary(Of String, List(Of DlLiteLoaderListEntry))
|
|
For VersionCode As Integer = 30 To 0 Step -1
|
|
Dict.Add("1." & VersionCode, New List(Of DlLiteLoaderListEntry))
|
|
Next
|
|
Dict.Add("未知版本", New List(Of DlLiteLoaderListEntry))
|
|
For Each Version As DlLiteLoaderListEntry In DlLiteLoaderListLoader.Output.Value
|
|
Dim MainVersion As String = "1." & Version.Inherit.Split(".")(1)
|
|
If Dict.ContainsKey(MainVersion) Then
|
|
Dict(MainVersion).Add(Version)
|
|
Else
|
|
Dict("未知版本").Add(Version)
|
|
End If
|
|
Next
|
|
'清空当前
|
|
PanMain.Children.Clear()
|
|
'转化为 UI
|
|
For Each Pair As KeyValuePair(Of String, List(Of DlLiteLoaderListEntry)) In Dict
|
|
If Not Pair.Value.Any() Then Continue For
|
|
'增加卡片
|
|
Dim NewCard As New MyCard With {.Title = Pair.Key & " (" & Pair.Value.Count & ")", .Margin = New Thickness(0, 0, 0, 15), .SwapType = 10}
|
|
Dim NewStack As New StackPanel With {.Margin = New Thickness(20, MyCard.SwapedHeight, 18, 0), .VerticalAlignment = VerticalAlignment.Top, .RenderTransform = New TranslateTransform(0, 0), .Tag = Pair.Value}
|
|
NewCard.Children.Add(NewStack)
|
|
NewCard.SwapControl = NewStack
|
|
NewCard.IsSwapped = True
|
|
PanMain.Children.Add(NewCard)
|
|
Next
|
|
Catch ex As Exception
|
|
Log(ex, "可视化 LiteLoader 版本列表出错", LogLevel.Feedback)
|
|
End Try
|
|
End Sub
|
|
|
|
Public Sub DownloadStart(sender As MyListItem, e As Object)
|
|
McDownloadLiteLoader(sender.Tag)
|
|
End Sub
|
|
Private Sub BtnWeb_Click(sender As Object, e As EventArgs) Handles BtnWeb.Click
|
|
OpenWebsite("https://www.liteloader.com")
|
|
End Sub
|
|
|
|
End Class
|