feat(neoforge): NeoForge 官方源版本列表
feat(neoforge): NeoForge Minecraft 版本列表(官方源 Only) fix: NeoForge 手动安装无法正常加载(只修了一半) ui: 在自动安装的 NeoForge 卡片中显示最新稳定版和最新测试版 chores: 代码清理
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
Public Class PageDownloadNeoForge
|
||||
|
||||
Private Sub LoaderInit() Handles Me.Initialized
|
||||
PageLoaderInit(Load, PanLoad, CardVersions, CardTip, DlNeoForgeListLoader, AddressOf Load_OnFinish)
|
||||
PageLoaderInit(Load, PanLoad, PanMain, CardTip, DlNeoForgeListLoader, AddressOf Load_OnFinish)
|
||||
End Sub
|
||||
Private Sub Init() Handles Me.Loaded
|
||||
PanBack.ScrollToHome()
|
||||
@@ -10,21 +10,44 @@
|
||||
Private Sub Load_OnFinish()
|
||||
'结果数据化
|
||||
Try
|
||||
Dim Versions As List(Of DlNeoForgeVersionEntry) = DlNeoForgeListLoader.Output
|
||||
PanVersions.Children.Clear()
|
||||
For Each Version In Versions
|
||||
PanVersions.Children.Add(NeoForgeDownloadListItem(Version, AddressOf NeoForge_Selected, True))
|
||||
Dim Versions = Sort(DlNeoForgeListLoader.Output.Value, AddressOf VersionSortBoolean)
|
||||
'Dim Versions As List(Of DlNeoForgeVersionEntry) = DlNeoForgeListLoader.Output
|
||||
PanMain.Children.Clear()
|
||||
For Each Version As String In Versions
|
||||
'增加卡片
|
||||
Dim NewCard As New MyCard With {.Title = Version.Replace("_p", " P"), .Margin = New Thickness(0, 0, 0, 15), .SwapType = 5}
|
||||
Dim NewStack As New StackPanel With {.Margin = New Thickness(20, MyCard.SwapedHeight, 18, 0), .VerticalAlignment = VerticalAlignment.Top, .RenderTransform = New TranslateTransform(0, 0), .Tag = Version}
|
||||
NewCard.Children.Add(NewStack)
|
||||
NewCard.SwapControl = NewStack
|
||||
NewCard.IsSwaped = True
|
||||
PanMain.Children.Add(NewCard)
|
||||
Next
|
||||
CardVersions.Title = "版本列表 (" & Versions.Count & ")"
|
||||
Catch ex As Exception
|
||||
Log(ex, "可视化 NeoForge 版本列表出错", LogLevel.Feedback)
|
||||
End Try
|
||||
End Sub
|
||||
Public Sub NeoForge_StateChanged(sender As MyLoading, newState As MyLoading.MyLoadingState, oldState As MyLoading.MyLoadingState)
|
||||
If newState <> MyLoading.MyLoadingState.Stop Then Exit Sub
|
||||
|
||||
Dim Card As MyCard = CType(sender.Parent, FrameworkElement).Parent
|
||||
Dim Loader As LoaderTask(Of String, List(Of DlNeoForgeVersionEntry)) = sender.State
|
||||
'载入列表
|
||||
Card.SwapControl.Children.Clear()
|
||||
Card.SwapControl.Tag = Loader.Output
|
||||
Card.SwapType = 6
|
||||
Card.StackInstall()
|
||||
End Sub
|
||||
Public Sub NeoForge_Click(sender As MyLoading, e As MouseButtonEventArgs)
|
||||
If sender.State.LoadingState = MyLoading.MyLoadingState.Error Then
|
||||
CType(sender.State, LoaderTask(Of String, List(Of DlNeoForgeVersionEntry))).Start(IsForceRestart:=True)
|
||||
End If
|
||||
End Sub
|
||||
Private Sub NeoForge_Selected(sender As MyListItem, e As EventArgs)
|
||||
McDownloadNeoForgeSave(sender.Tag)
|
||||
End Sub
|
||||
|
||||
Public Sub DownloadStart(sender As MyListItem, e As Object)
|
||||
McDownloadNeoForge(sender.Tag)
|
||||
End Sub
|
||||
Private Sub BtnWeb_Click(sender As Object, e As EventArgs) Handles BtnWeb.Click
|
||||
OpenWebsite("https://neoforged.net/")
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user