Skip to content

Commit d3dc801

Browse files
committed
refactor(type): remove even more dynamic casts (x4)
1 parent 7b96d73 commit d3dc801

8 files changed

Lines changed: 24 additions & 22 deletions

File tree

Plain Craft Launcher 2/Pages/PageLaunch/PageLoginProfile.xaml.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ private void SelectProfile(object sender, MouseButtonEventArgs e)
9090
ModProfile.SelectedProfile = (ModProfile.McProfile)((MyListItem)sender).Tag;
9191
ModBase.Log($"[Profile] 选定档案: {tag.Username}, 以 {tag.Type} 方式验证");
9292
ModProfile.LastUsedProfile =
93-
ModProfile.ProfileList.IndexOf((ModProfile.McProfile)((dynamic)sender).Tag); // 获取当前档案的序号
93+
ModProfile.ProfileList.IndexOf((ModProfile.McProfile)((MyListItem)sender).Tag); // 获取当前档案的序号
9494
ModProfile.SaveProfile(); // 保存档案配置,确保切换后的档案被正确保存
9595

9696
// 清除登录验证缓存,确保使用新档案的验证信息
@@ -135,8 +135,7 @@ private void ProfileContMenuBuild(MyListItem sender, EventArgs e)
135135
ToolTipService.SetHorizontalOffset(btnDelete, 2d);
136136
btnDelete.Click += DeleteProfile;
137137
// 根据档案类型显示不同的菜单项
138-
if (Conversions.ToBoolean(Operators.ConditionalCompareObjectEqual(((dynamic)sender.Tag).Type,
139-
ModLaunch.McLoginType.Legacy, false)))
138+
if (((ModProfile.McProfile)sender.Tag).Type == ModLaunch.McLoginType.Legacy)
140139
sender.Buttons = new[] { btnEditUuid, btnDelete };
141140
else
142141
sender.Buttons = new[] { btnCopyUuid, btnDelete };
@@ -155,12 +154,12 @@ private void BtnNew_Click(object sender, EventArgs e)
155154
// 编辑 UUID
156155
private void EditProfileUuid(object sender, EventArgs e)
157156
{
158-
ModProfile.EditOfflineUuid((ModProfile.McProfile)((dynamic)sender).Tag);
157+
ModProfile.EditOfflineUuid((ModProfile.McProfile)((MyIconButton)sender).Tag);
159158
}
160159

161160
private void CopyProfileUuid(object sender, EventArgs e)
162161
{
163-
ModBase.ClipboardSet(Conversions.ToString(((dynamic)sender).Tag.Uuid));
162+
if (sender is MyIconButton { Tag: ModProfile.McProfile profile }) ModBase.ClipboardSet(profile.Uuid);
164163
}
165164

166165
// 编辑验证服务器名称

Plain Craft Launcher 2/Pages/PageSelectLeft.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -565,7 +565,7 @@ public void Remove_Click(object sender, RoutedEventArgs e)
565565
public void Delete_Click(object sender, RoutedEventArgs e)
566566
{
567567
var Folder =
568-
(ModMinecraft.McFolder)((MyListItem)((Popup)((ContextMenu)((dynamic)sender).Parent).Parent).PlacementTarget)
568+
(ModMinecraft.McFolder)((MyListItem)((Popup)((ContextMenu)((MyMenuItem)sender).Parent).Parent).PlacementTarget)
569569
.Tag;
570570
var DeleteText =
571571
(Folder.Type == ModMinecraft.McFolder.Types.Original ||
@@ -616,13 +616,13 @@ public void Delete_Click(object sender, RoutedEventArgs e)
616616

617617
public void Open_Click(object sender, RoutedEventArgs e)
618618
{
619-
ModBase.OpenExplorer(((MyListItem)((Popup)((ContextMenu)((dynamic)sender).Parent).Parent).PlacementTarget)
619+
ModBase.OpenExplorer(((MyListItem)((Popup)((ContextMenu)((MyMenuItem)sender).Parent).Parent).PlacementTarget)
620620
.Info);
621621
}
622622

623623
public void Refresh_Click(object sender, RoutedEventArgs e)
624624
{
625-
var Data = (ModMinecraft.McFolder)((MyListItem)((Popup)((ContextMenu)((dynamic)sender).Parent).Parent)
625+
var Data = (ModMinecraft.McFolder)((MyListItem)((Popup)((ContextMenu)((MyMenuItem)sender).Parent).Parent)
626626
.PlacementTarget).Tag;
627627
RefreshCurrent(Data.Location);
628628
}

Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@
7979
Margin="0,0,25,0" />
8080
<local:MyComboBox x:Name="ComboArgumentVisibie" Grid.Row="6" Grid.ColumnSpan="2"
8181
Tag="LaunchArgumentVisible" Grid.Column="1"
82-
SizeChanged="ComboArgumentVisibie_SizeChanged"
83-
SelectionChanged="ComboChange">
82+
SelectionChanged="ComboArgumentVisibie_SelectionChanged">
8483
<local:MyComboBoxItem Content="游戏启动后立即关闭" />
8584
<local:MyComboBoxItem Content="" IsEnabled="False" Visibility="Collapsed" />
8685
<local:MyComboBoxItem Content="游戏启动后隐藏,游戏退出后自动关闭" />

Plain Craft Launcher 2/Pages/PageSetup/PageSetupLaunch.xaml.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,8 +514,9 @@ private void WindowTypeUIRefresh()
514514
}
515515

516516
// 可见性选择直接关闭的警告
517-
private void ComboArgumentVisibie_SizeChanged(object sender, SizeChangedEventArgs sizeChangedEventArgs)
517+
private void ComboArgumentVisibie_SelectionChanged(object sender, SelectionChangedEventArgs sizeChangedEventArgs)
518518
{
519+
ComboChange(sender, sizeChangedEventArgs);
519520
if (ModAnimation.AniControlEnabled != 0)
520521
return;
521522
if (ComboArgumentVisibie.SelectedIndex == 0)

Plain Craft Launcher 2/Pages/PageSetup/PageSetupUI.xaml.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -876,11 +876,11 @@ public static void HiddenRefresh()
876876

877877
foreach (var category in categories)
878878
{
879-
var isVisible = ((dynamic)category).Item2 || HiddenForceShow;
880-
((dynamic)category).Item1.Visibility =
879+
var isVisible = category.Item2 || HiddenForceShow;
880+
category.Item1.Visibility =
881881
Conversions.ToBoolean(isVisible) ? Visibility.Visible : Visibility.Collapsed;
882882
if (Conversions.ToBoolean(isVisible))
883-
((dynamic)category).Item1.Opacity = 0.6d;
883+
category.Item1.Opacity = 0.6d;
884884
}
885885

886886
// 统计设置页可用项数量

Plain Craft Launcher 2/Pages/PageSpeedLeft.xaml.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ public void TaskRefresh(ModLoader.LoaderBase Loader)
357357
Card.Children.Add(Cancel);
358358
Cancel.Click += (sender, e) =>
359359
{
360-
ModAnimation.AniDispose((dynamic)sender, false);
360+
ModAnimation.AniDispose((MyIconButton)sender, false);
361361
ModAnimation.AniDispose(Card, true, _ =>
362362
{
363363
if (ModMain.FrmSpeedRight.PanMain.Children.Count == 0 &&
@@ -393,14 +393,15 @@ public void TaskRefresh(ModLoader.LoaderBase Loader)
393393

394394
public void TaskRemove(object Loader)
395395
{
396-
if (RightCards.ContainsKey(Conversions.ToString(((dynamic)Loader).Name)))
396+
var loaderCombo = (ModLoader.LoaderCombo<string>)Loader;
397+
if (RightCards.ContainsKey(Conversions.ToString(loaderCombo.Name)))
397398
ModBase.RunInUiWait(() =>
398399
{
399400
// 移除已有的卡片
400-
Grid Card = RightCards[Conversions.ToString(((dynamic)Loader).Name)];
401+
Grid Card = RightCards[Conversions.ToString(loaderCombo.Name)];
401402
ModMain.FrmSpeedRight.PanMain.Children.Remove(Card);
402-
RightCards.Remove(Conversions.ToString(((dynamic)Loader).Name));
403-
ModBase.Log($"[Watcher] 移除任务管理卡片:{((dynamic)Loader).Name}");
403+
RightCards.Remove(Conversions.ToString(loaderCombo.Name));
404+
ModBase.Log($"[Watcher] 移除任务管理卡片:{loaderCombo.Name}");
404405
});
405406
}
406407

Plain Craft Launcher 2/Pages/PageTools/PageToolsHelp.xaml.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,8 @@ private void PageOther_Loaded(object sender, RoutedEventArgs e)
238238
// 初始化加载器信息
239239
private void PageOther_Inited(object sender, EventArgs e)
240240
{
241-
PageLoaderInit(Load, PanLoad, PanBack, null, ModMain.HelpLoader, a => this.HelpListLoad((dynamic)a));
241+
PageLoaderInit(Load, PanLoad, PanBack, null, ModMain.HelpLoader,
242+
a => this.HelpListLoad((ModLoader.LoaderTask<int, List<ModMain.HelpEntry>>)a));
242243
}
243244

244245
#endregion

Plain Craft Launcher 2/Pages/PageTools/PageToolsLeft.xaml.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ private void PageOtherLeft_Unloaded(object sender, RoutedEventArgs e)
3434

3535
public void Refresh(object sender, EventArgs e)
3636
{
37-
if (((dynamic)sender).Tag is null)
37+
var button = (MyIconButton)sender;
38+
if (button.Tag is null)
3839
return;
39-
double id = ModBase.Val(((MyIconButton)sender).Tag);
40+
double id = ModBase.Val(button.Tag);
4041
switch (id)
4142
{
4243
case (double)FormMain.PageSubType.ToolsGameLink:

0 commit comments

Comments
 (0)