From 34697c0d27c9370830085033ea080fa55614cde9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=95=E8=8E=89=E6=96=AF?= <125196925+shanlisi567@users.noreply.github.com> Date: Wed, 19 Mar 2025 20:32:52 +0800 Subject: [PATCH] Ctrl+C Ctrl+V MySkin.xaml.vb --- .../Pages/PageLaunch/MySkin.xaml.vb | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb index 59d631c..696dba7 100644 --- a/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb +++ b/Plain Craft Launcher 2/Pages/PageLaunch/MySkin.xaml.vb @@ -1,39 +1,39 @@ -公共 Class MySkin +Public Class MySkin '事件 - 公共 Event Click(sender As Object, e As MouseButtonEventArgs) + Public Event Click(sender As Object, e As MouseButtonEventArgs) '皮肤储存 - 私有 _Address As String - 公共 Property Address As String + Private _Address As String + Public Property Address As String Get Return _Address End Get Set(value As String) _Address = value - ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") + ToolTip = If(_Address = "", "加载中", "点击更换皮肤(右键查看更多选项)") End Set End Property - 公共 Loader As LoaderTask(Of EqualableList(Of String), String) + Public Loader As LoaderTask(Of EqualableList(Of String), String) '控件动画 - 私有 Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter - AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") + Private Sub PanSkin_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter + AniStart(AaOpacity(ShadowSkin, 0.8 - ShadowSkin.Opacity, 200, 100), "Skin Shadow") End Sub - 私有 Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave + Private Sub PanSkin_MouseLeave(sender As Object, e As MouseEventArgs) Handles Me.MouseLeave AniStart(AaOpacity(ShadowSkin, 0.2 - ShadowSkin.Opacity, 200), "Skin Shadow") IsSkinMouseDown = False - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub '点击 - 私有 IsSkinMouseDown As Boolean = False - 私有 Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown + Private IsSkinMouseDown As Boolean = False + Private Sub PanSkin_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonDown IsSkinMouseDown = True - AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + AniStart(AaScaleTransform(Me, 0.9 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") End Sub - 私有 Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp - AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") + Private Sub PanSkin_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs) Handles Me.MouseLeftButtonUp + AniStart(AaScaleTransform(Me, 1 - CType(Me.RenderTransform, ScaleTransform).ScaleX, 60,, New AniEaseOutFluent), "Skin Scale") If IsSkinMouseDown Then IsSkinMouseDown = False RaiseEvent Click(sender, e) @@ -41,10 +41,10 @@ End Sub '保存皮肤 - 公共 Sub BtnSkinSave_Click() Handles BtnSkinSave.Click + Public Sub BtnSkinSave_Click() Handles BtnSkinSave.Click Save(Loader) End Sub - 公共 Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) + Public Shared Sub Save(Loader As LoaderTask(Of EqualableList(Of String), String)) Dim Address = Loader.Output If Not Loader.State = LoadState.Finished Then Hint("皮肤正在获取中,请稍候!", HintType.Critical) @@ -67,14 +67,14 @@ Log(ex, "保存皮肤失败", LogLevel.Hint) End Try End Sub - 私有 Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked + Private Sub BtnSkinSave_Checked(sender As MyMenuItem, e As RoutedEventArgs) Handles BtnSkinSave.Checked sender.IsEnabled = Address = "" End Sub ''' ''' 载入皮肤。 ''' - 公共 Sub Load() + Public Sub Load() Try '检查文件存在 Address = Loader.Output @@ -98,10 +98,10 @@ End If '头发层(附加层) If Image.Pic.Width >= 64 AndAlso Image.Pic.Height >= 32 Then - If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) + If (Image.Pic.GetPixel(1, 1).A = 0 OrElse '如果图片中有任何透明像素(避免纯色白底) Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1).A = 0 OrElse Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2).A = 0) OrElse - (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 + (Image.Pic.GetPixel(1, 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso '或是头部颜色和透明区均不一样 Image.Pic.GetPixel(Image.Pic.Width - 1, Image.Pic.Height - 1) <> Image.Pic.GetPixel(Scale * 41, Scale * 9) AndAlso Image.Pic.GetPixel(Image.Pic.Width - 2, Image.Pic.Height / 2 - 2) <> Image.Pic.GetPixel(Scale * 41, Scale * 9)) Then ImgFore.Source = Image.Clip(Scale * 40, Scale * 8, Scale * 8, Scale * 8) @@ -121,26 +121,26 @@ ''' ''' 清空皮肤。 ''' - 公共 Sub Clear() + Public Sub Clear() Address = "" ImgFore.Source = Nothing ImgBack.Source = Nothing End Sub '刷新缓存 - 公共 Sub RefreshClick() Handles BtnSkinRefresh.Click + Public Sub RefreshClick() Handles BtnSkinRefresh.Click RefreshCache(Loader) End Sub ''' ''' 刷新皮肤缓存。 ''' - 公共 Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) + Public Shared Sub RefreshCache(Optional sender As LoaderTask(Of EqualableList(Of String), String) = Nothing) Dim HasLoaderRunning As Boolean = False For Each SkinLoader In PageLaunchLeft.SkinLoaders If SkinLoader.State = LoadState.Loading Then HasLoaderRunning = True : Exit For End If - 下一页 + Next If FrmLaunchLeft IsNot Nothing AndAlso HasLoaderRunning Then '由于 Abort 不是实时的,暂时不会释放文件,会导致删除报错,故只能取消执行 Hint("有正在获取中的皮肤,请稍后再试!", HintType.Info) @@ -160,7 +160,7 @@ '刷新控件 For Each SkinLoader In If(sender IsNot Nothing, {sender}, {PageLaunchLeft.SkinLegacy, PageLaunchLeft.SkinMs}) SkinLoader.WaitForExit(IsForceRestart:=True) - 下一页 + Next Hint("已刷新头像!", HintType.Finish) Catch ex As Exception Log(ex, "刷新皮肤缓存失败", LogLevel.Msgbox) @@ -172,7 +172,7 @@ ''' 在更换正版皮肤后,刷新正版皮肤。 ''' ''' 新的正版皮肤完整地址。 - 公共 Shared Sub ReloadCache(SkinAddress As String) + Public Shared Sub ReloadCache(SkinAddress As String) RunInThread( Sub() Try @@ -182,7 +182,7 @@ '刷新控件 For Each SkinLoader In {PageLaunchLeft.SkinMs, PageLaunchLeft.SkinLegacy} SkinLoader.WaitForExit(IsForceRestart:=True) - 下一页 + Next '完成提示 Hint("更改皮肤成功!", HintType.Finish) Catch ex As Exception @@ -192,7 +192,7 @@ End Sub '披风 - 公共 Property HasCape As Boolean + Public Property HasCape As Boolean Get Return BtnSkinCape.Visibility = Visibility.Collapsed End Get @@ -204,8 +204,8 @@ End If End Set End Property - 私有 IsChanging As Boolean = False - 公共 Sub BtnSkinCape_Click() Handles BtnSkinCape.Click + Private IsChanging As Boolean = False + Public Sub BtnSkinCape_Click() Handles BtnSkinCape.Click '检查条件,获取新披风 If IsChanging Then Hint("正在更改披风中,请稍候!") @@ -236,32 +236,32 @@ Retry: RunInUiWait( Sub() Try - Dim CapeNames As New Dictionary(Of String, String) From { - {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, - {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, - {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, - {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, - {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, - {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, - {"Mojang Office","Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} + Dim CapeNames As New Dictionary(Of String, String) From { + {"Migrator", "迁移者披风"}, {"MapMaker", "Realms 地图制作者披风"}, {"Moderator", "Mojira 管理员披风"}, + {"Translator-Chinese", "Crowdin 中文翻译者披风"}, {"Translator", "Crowdin 翻译者披风"}, {"Cobalt", "Cobalt 披风"}, + {"Vanilla", "原版披风"}, {"Minecon2011", "Minecon 2011 参与者披风"}, {"Minecon2012", "Minecon 2012 参与者披风"}, + {"Minecon2013", "Minecon 2013 参与者披风"}, {"Minecon2015", "Minecon 2015 参与者披风"}, {"Minecon2016", "Minecon 2016 参与者披风"}, + {"Cherry Blossom", "樱花披风"}, {"15th Anniversary", "15 周年纪念披风"}, {"Purple Heart", "紫色心形披风"}, + {"Follower's", "追随者披风"}, {"MCC 15th Year", "MCC 15 周年披风"}, {"Minecraft Experience", "村民救援披风"}, + {"Mojang Office", "Mojang 办公室披风"},{"Home","家园披风"},{"Menace","威胁披风"} } Dim SelectionControl As New List(Of IMyRadio) From {New MyRadioBox With {.Text = "无披风"}} For Each Cape In SkinData("capes") Dim CapeName As String = Cape("alias").ToString If CapeNames.ContainsKey(CapeName) Then CapeName = CapeNames(CapeName) SelectionControl.Add(New MyRadioBox With {.Text = CapeName}) - 下一页 - SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") + Next + SelId = MyMsgBoxSelect(SelectionControl, "选择披风", "确定", "取消") Catch ex As Exception Log(ex, "获取玩家皮肤列表失败", LogLevel.Feedback) End Try End Sub) If SelId Is Nothing Then Exit Sub '发送请求 - Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", - If(SelId = 0, "DELETE", "PUT"), - If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), - "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) + Dim Result As String = NetRequestRetry("https://api.minecraftservices.com/minecraft/profile/capes/active", + If(SelId = 0, "DELETE", "PUT"), + If(SelId = 0, "", New JObject(New JProperty("capeId", SkinData("capes")(SelId - 1)("id"))).ToString(0)), + "application/json", Headers:=New Dictionary(Of String, String) From {{"Authorization", "Bearer " & AccessToken}}) If Result.Contains("""errorMessage""") Then Hint("更改披风失败:" & GetJson(Result)("errorMessage"), HintType.Critical) Exit Sub @@ -273,7 +273,7 @@ Retry: Finally IsChanging = False End Try - End Sub, "Cape Change") + End Sub, "Cape Change") End Sub End Class