v2 (WPF)
This commit is contained in:
70
ARAMUtility/ViewModel/ChampionViewModel.cs
Normal file
70
ARAMUtility/ViewModel/ChampionViewModel.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using System.Text;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using LeagueAPI.Models.DDragon.Champions;
|
||||
|
||||
namespace ARAMUtility.ViewModel;
|
||||
|
||||
public partial class ChampionViewModel(ChampionData data) : ObservableObject
|
||||
{
|
||||
[ObservableProperty]
|
||||
public partial int Id { get; set; } = data.Id;
|
||||
|
||||
[ObservableProperty]
|
||||
public partial string? Name { get; set; } = data.Name;
|
||||
|
||||
[ObservableProperty]
|
||||
public required partial string ImagePath { get; set; }
|
||||
|
||||
public string AramBalanceText { get; } = GetAramBalanceText(data);
|
||||
|
||||
[ObservableProperty]
|
||||
public required partial bool IsNeededForChallenge { get; set; }
|
||||
|
||||
private static string GetAramBalanceText(ChampionData data)
|
||||
{
|
||||
StringBuilder sb = new();
|
||||
sb.AppendLine(data.Name);
|
||||
foreach (KeyValuePair<string, double> kv in data.AramBalance)
|
||||
{
|
||||
switch (kv.Key)
|
||||
{
|
||||
case "dmg_dealt":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Dmg Dealt: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "dmg_taken":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Dmg Taken: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "healing":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Healing: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "energyregen_mod":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Energy Regen: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "tenacity":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Tenacity: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "shielding":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Shielding: {0:+#0%;-#0%}", kv.Value - 1);
|
||||
break;
|
||||
case "ability_haste":
|
||||
sb.AppendFormat("Ability Haste: {0}", kv.Value);
|
||||
break;
|
||||
case "total_as":
|
||||
if (kv.Value == 1) { continue; }
|
||||
sb.AppendFormat("Total AS: {0}", kv.Value);
|
||||
break;
|
||||
default:
|
||||
sb.AppendFormat("{0}: {1}", kv.Key, kv.Value);
|
||||
break;
|
||||
}
|
||||
sb.AppendLine();
|
||||
}
|
||||
return sb.ToString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user