Skip to content

Commit 1aa3c50

Browse files
committed
style(ongeki/profile): change new rating style
1 parent 84c8ecb commit 1aa3c50

File tree

2 files changed

+58
-9
lines changed

2 files changed

+58
-9
lines changed

src/app/sega/ongeki/ongeki-profile/ongeki-profile.component.html

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,29 @@
2020
<img class="rank-bg" src="{{host}}/assets/ongeki/gameUi/UI_CMN_Signage_UserRank_BG_0{{profile.rankPattern}}.webp">
2121
<img class="rank rank-0{{profile.rankPattern}}" src="{{host}}/assets/ongeki/gameUi/UI_CMN_Signage_UserRank_Rank_{{profile.rankId | number: '2.0-0'}}.webp">
2222
<div class="battle-point bp-0{{profile.rankPattern}}">{{profile.battlePoint | number}}</div>
23-
<img class="rating-header" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}_Header.webp">
24-
<div class="rating">
25-
<img *ngIf="Math.floor(profile.playerRating / 1000) > 0" class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 1000)}}.webp">
26-
<img class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 100) % 10}}.webp">
27-
<img class="rating-num-dot" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/dot.webp">
28-
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 10) % 10}}.webp">
29-
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating) % 10}}.webp">
30-
<div class="rating-highest text-nowrap">(Max: {{(profile.highestRating / 100) | number: '0.2-2'}})</div>
31-
</div>
23+
<ng-template [ngIf]="compareVersion(profile.lastRomVersion, '1.50.00', '<')">
24+
<img class="rating-header" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}_Header.webp">
25+
<div class="rating">
26+
<img *ngIf="Math.floor(profile.playerRating / 1000) > 0" class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 1000)}}.webp">
27+
<img class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 100) % 10}}.webp">
28+
<img class="rating-num-dot" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/dot.webp">
29+
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating / 10) % 10}}.webp">
30+
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getRatingType(profile.playerRating)}}/{{Math.floor(profile.playerRating) % 10}}.webp">
31+
<div class="rating-highest text-nowrap">(Max: {{(profile.highestRating / 100) | number: '0.2-2'}})</div>
32+
</div>
33+
</ng-template>
34+
<ng-template [ngIf]="compareVersion(profile.lastRomVersion, '1.50.00', '>=')">
35+
<img class="rating-header" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}_Header.webp" alt="">
36+
<div class="rating">
37+
<img *ngIf="Math.floor(profile.newPlayerRating / 10000) > 0" class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/{{Math.floor(profile.newPlayerRating / 10000)}}.webp">
38+
<img class="rating-num-integer" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/{{Math.floor(profile.newPlayerRating / 1000) % 10}}.webp">
39+
<img class="rating-num-dot" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/dot.webp">
40+
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/{{Math.floor(profile.newPlayerRating / 100) % 10}}.webp">
41+
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/{{Math.floor(profile.newPlayerRating / 10) % 10}}.webp">
42+
<img class="rating-num-fractional" src="{{host}}/assets/ongeki/gameUi/UI_NUM_30pt_Rating_{{getNewRatingType(profile.newPlayerRating)}}/{{Math.floor(profile.playerRating) % 10}}.webp">
43+
<div class="rating-highest text-nowrap">(Max: {{(profile.newHighestRating / 1000) | number: '0.2-3'}})</div>
44+
</div>
45+
</ng-template>
3246
</div>
3347
<div class="chara-container">
3448
<img class="chara-img" src="{{host}}assets/ongeki/character/{{profile.characterId}}.webp">

src/app/sega/ongeki/ongeki-profile/ongeki-profile.component.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,25 @@ export class OngekiProfileComponent implements OnInit {
6767
else{ return '09Rainbow'; }
6868
}
6969

70+
getNewRatingType(rt: number): string {
71+
switch (true) {
72+
case rt >= 22000: return '11Rainbow';
73+
case rt >= 21000: return '10Rainbow';
74+
case rt >= 20000: return '09Rainbow';
75+
case rt >= 19000: return '09Rainbow';
76+
case rt >= 18000: return '08Platinum';
77+
case rt >= 17000: return '07Gold';
78+
case rt >= 15000: return '06Silver';
79+
case rt >= 13000: return '05Bronze';
80+
case rt >= 11000: return '04Purple';
81+
case rt >= 9000: return '03Red';
82+
case rt >= 7000: return '02Orange';
83+
case rt >= 4000: return '01Green';
84+
case rt >= 0: return '00Bule';
85+
default: return '09Rainbow';
86+
}
87+
}
88+
7089
getRankId(bp: number): number{
7190
if (bp < 200) { return 0; }
7291
else if (bp < 500) { return 1; }
@@ -105,4 +124,20 @@ export class OngekiProfileComponent implements OnInit {
105124
else if (bp < 20000) { return 6; }
106125
else { return 7; }
107126
}
127+
128+
compareVersion(version: string, target: string, operator: '>=' | '<') {
129+
const a = version.split('.').map(Number);
130+
const b = target.split('.').map(Number);
131+
const len = Math.max(a.length, b.length);
132+
133+
for (let i = 0; i < len; i++) {
134+
const n1 = a[i] || 0;
135+
const n2 = b[i] || 0;
136+
137+
if (n1 > n2) { return operator === '>='; }
138+
if (n1 < n2) { return operator === '<'; }
139+
}
140+
return operator === '>=';
141+
}
142+
108143
}

0 commit comments

Comments
 (0)