From 40ed3028c2123bcc2234e97c6e01bf23c4f21e22 Mon Sep 17 00:00:00 2001 From: shiibe Date: Fri, 23 Sep 2022 16:44:49 -0400 Subject: [PATCH] Add icons to AI battle data, disable button if no data is present --- TaikoWebUI/Pages/Cards.razor | 3 +- .../{TaikoMode.razor => HighScores.razor} | 44 ++++++++++++------ ...TaikoMode.razor.cs => HighScores.razor.cs} | 13 ++++-- TaikoWebUI/wwwroot/images/ai_Lose.png | Bin 0 -> 16298 bytes TaikoWebUI/wwwroot/images/ai_Win.png | Bin 0 -> 15885 bytes TaikoWebUI/wwwroot/images/ai_crown_Clear.png | Bin 0 -> 4582 bytes .../wwwroot/images/ai_crown_Dondaful.png | Bin 0 -> 4577 bytes TaikoWebUI/wwwroot/images/ai_crown_Gold.png | Bin 0 -> 4630 bytes TaikoWebUI/wwwroot/images/ai_crown_None.png | Bin 0 -> 3577 bytes 9 files changed, 40 insertions(+), 20 deletions(-) rename TaikoWebUI/Pages/{TaikoMode.razor => HighScores.razor} (82%) rename TaikoWebUI/Pages/{TaikoMode.razor.cs => HighScores.razor.cs} (93%) create mode 100644 TaikoWebUI/wwwroot/images/ai_Lose.png create mode 100644 TaikoWebUI/wwwroot/images/ai_Win.png create mode 100644 TaikoWebUI/wwwroot/images/ai_crown_Clear.png create mode 100644 TaikoWebUI/wwwroot/images/ai_crown_Dondaful.png create mode 100644 TaikoWebUI/wwwroot/images/ai_crown_Gold.png create mode 100644 TaikoWebUI/wwwroot/images/ai_crown_None.png diff --git a/TaikoWebUI/Pages/Cards.razor b/TaikoWebUI/Pages/Cards.razor index 26bd28e..b71d5ac 100644 --- a/TaikoWebUI/Pages/Cards.razor +++ b/TaikoWebUI/Pages/Cards.razor @@ -68,9 +68,8 @@ FullWidth="true" AnchorOrigin="Origin.BottomCenter" TransformOrigin="Origin.TopCenter"> - Taiko Mode + High Scores Dani Dojo - @*AI Battle*@ diff --git a/TaikoWebUI/Pages/TaikoMode.razor b/TaikoWebUI/Pages/HighScores.razor similarity index 82% rename from TaikoWebUI/Pages/TaikoMode.razor rename to TaikoWebUI/Pages/HighScores.razor index 185e815..7ff5fd7 100644 --- a/TaikoWebUI/Pages/TaikoMode.razor +++ b/TaikoWebUI/Pages/HighScores.razor @@ -1,11 +1,11 @@ @inject IGameDataService GameDataService @inject HttpClient Client -@page "/Cards/{baid:int}/TaikoMode" +@page "/Cards/{baid:int}/HighScores" -

Taiko Mode

+

High Scores

Card: @Baid @@ -89,7 +89,7 @@ - @(context.Item.ShowAiData ? "Hide" : "Show") + @(context.Item.ShowAiData ? "Hide" : "Show") @@ -102,25 +102,39 @@ @if (context.Item.ShowAiData) { - + + + AI Battle Data + + - Section No - Is win? - Section Score - Section Crown - Section Good Count - Section Ok Count - Section Miss Count - Section Drumroll Count + Section No. + Result + Score + Crown + Good + OK + Bad + Drumroll - @aiSectionContext.SectionIndex - @aiSectionContext.IsWin + @(aiSectionContext.SectionIndex + 1) + + @if (@aiSectionContext.IsWin) { + Win + } + else + { + Lose + } + @aiSectionContext.Score - @aiSectionContext.Crown + + @(GetCrownText(aiSectionContext.Crown)) + @aiSectionContext.GoodCount @aiSectionContext.OkCount @aiSectionContext.MissCount diff --git a/TaikoWebUI/Pages/TaikoMode.razor.cs b/TaikoWebUI/Pages/HighScores.razor.cs similarity index 93% rename from TaikoWebUI/Pages/TaikoMode.razor.cs rename to TaikoWebUI/Pages/HighScores.razor.cs index 1a3d3d9..821d441 100644 --- a/TaikoWebUI/Pages/TaikoMode.razor.cs +++ b/TaikoWebUI/Pages/HighScores.razor.cs @@ -3,13 +3,13 @@ using System; namespace TaikoWebUI.Pages; -public partial class TaikoMode +public partial class HighScores { [Parameter] public int Baid { get; set; } private const string IconStyle = "width:25px; height:25px;"; - + private SongBestResponse? response; private Dictionary> songBestDataMap = new(); @@ -44,7 +44,7 @@ public partial class TaikoMode breadcrumbs.Add(new BreadcrumbItem($"Card: {Baid}", href: null, disabled: true)); - breadcrumbs.Add(new BreadcrumbItem("Taiko Mode", href: $"/Cards/{Baid}/TaikoMode", disabled: false)); + breadcrumbs.Add(new BreadcrumbItem("High Scores", href: $"/Cards/{Baid}/HighScores", disabled: false)); } private async Task OnFavoriteToggled(SongBestData data) @@ -143,5 +143,12 @@ public partial class TaikoMode { data.ShowAiData = !data.ShowAiData; } + + private static bool IsAiDataPresent(SongBestData data) + { + var aiData = data.AiSectionBestData; + + return aiData.Count > 0; + } } diff --git a/TaikoWebUI/wwwroot/images/ai_Lose.png b/TaikoWebUI/wwwroot/images/ai_Lose.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e4c0f52bc95a39d1b9f2c34e1243f3f5573a41 GIT binary patch literal 16298 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�o+=oG)^o1oO_{E8KfaJXsl_L}L|?wZ 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%0D03*fCLYAqrkn@n)^}H#uFk3ju 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 bzhPMT2$2zzdkg*Duq`L8BvmD0^7VfJMs*I& literal 0 HcmV?d00001 diff --git a/TaikoWebUI/wwwroot/images/ai_crown_Clear.png b/TaikoWebUI/wwwroot/images/ai_crown_Clear.png new file mode 100644 index 0000000000000000000000000000000000000000..76ff8cabdccace4003e233e29e9d6df2bacacb6a GIT binary patch literal 4582 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 literal 0 HcmV?d00001 diff --git a/TaikoWebUI/wwwroot/images/ai_crown_Dondaful.png b/TaikoWebUI/wwwroot/images/ai_crown_Dondaful.png new file mode 100644 index 0000000000000000000000000000000000000000..9b3ab465aabf448f2c22cffdb007460ce345351d GIT binary patch literal 4577 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 literal 0 HcmV?d00001 diff --git a/TaikoWebUI/wwwroot/images/ai_crown_None.png b/TaikoWebUI/wwwroot/images/ai_crown_None.png new file mode 100644 index 0000000000000000000000000000000000000000..915f186ffbc4eef7fc88978acb0dc827e178fdd1 GIT binary patch literal 3577 zcmcIn2~-o;8V(2uK~Od=pd~N3LMJ=f*eW0rHHZ)-?43*|5D7`hLXfHmiW(KGxL~!k z#ex=)O=T+}B0{XRidKOt3Yh2G5~P#|tx(>Ct$puUUr*0@IcG9=?tJ(Azkj>;j5;WA ztp(ZvjY6R;SOI>)$epIYOihsgFCX0TM{Z`)fN(hqWqD11860=DbVQ-%QiL3?g3I2( zgd~YLkT2oExRgXGf<~b{yi=qglmII*JUC7$_QVdPk3LPL&m;}NUl#LVuA5?&E0#nFL0QyBnAr%(Vo1k(Uynn;BBJPJsFX4p2$gh=avqCc|gRq+u< z$PJ=W_-@ETH;@EC3X4A*MhgO9YWR5hj9hFkUK-!(x6{ z<0}zKWNZl^i8)zc%?LZMXQR35z@CLe+nj-2ox$%2Ct4oBK<#$3;$>0a09XL>0U`lO zJjkQN0F_7K!DNuY02$;N*Z(ilr^5=xgW@)t z`&mBwEKC;${K!?Lf6#;>a(F9?n1o~uMeH+2Xnu*k{$J8(FBBsn^bcO%5G=%_4T!!Y+OXn zbr5L|Ey2?zrlrj?hF4~S6s>yfe)1Z6g9^ISf*P?JGxZ!QZE$jG)eIiAj4WUN&_w07 z;~;r73l$z-+Gx|$s*zgTT;U_a2hXJL=G zI_<=>y}S2#)|loT>!Gw7ai91csJHCY!cVqsK9d+NH13}Jim+#}?x&H?+jy(e+wX*Q zsfP{u?C|SFvP7FeEzu)(N7g@!NF!cj4rxuQicnjQ%HrEA+f5s7v-(?|GR3jiMlyr5 zTDf~iK%)t3hnuzwv~-t_?wFg7U*Ag!;tqv%@6~4e>#k8P3^#>ds^?huv&Molt_;B! z9G9kzoAq$Kts?=w7SI3Q?&&}kSkHhX>u6Yxy)dyGHXjsKEu4_SWAFXd!NEzoe=X_a z>e37)u2+(^W@d|rVEZ)e{*>zz8nx&ES4gN#89Xl6~z z`Qdd-z`Z@MOjdnWZSF44;mC@XNE=3v?|wPJ!dHdVL=WX9 z4HhPS4S!^on|z=$^2K+7EY5gI`QvhHMVL?ql4}cNeVBwM_uFHJXUmhd28^rhdWeUo^a{q{?HX zxn}ONJe+9b**2pUPjjok+xDqVqkTzAb>laUEbK4DB(<}{F>y)8hrz*DBW_2OEea8L zWT5ldg++imm=M!KACE0B z{5+Ta{hZ+RdFo+m&d|FLhZ^l!?vcwZEYRgz<~*G}%j^OFw4^dt(=A@ITkq z!!{pEzEW~*K(x1@?7=e6sOqNSwi8#;dCv+Wex%Q-w&aPA$Ma}mD9M24UaTSq*XG=aT z2zF?{w&Z?Ack>