/
update.go
54 lines (47 loc) · 2.21 KB
/
update.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package main
import (
"fmt"
"strconv"
oppai "github.com/flesnuk/oppai5"
"github.com/lxn/walk"
)
func updateInfo(i int, m *RowModel, im *walk.ImageView) {
if m == nil || len(m.items) <= 0 || i >= len(m.items) || i < 0 {
return
}
old := im.Image()
new := getImage(m.items[i].Foto)
im.SetImage(new)
if old != nil {
old.Dispose()
}
panelPP.Mods.SetText(oppai.ModsStr(int(m.items[i].Info.Mods)))
panelPP.Combo.SetText(fmt.Sprintf("%d/%dx", m.items[i].Info.Combo, m.items[i].PP.Diff.Beatmap.MaxCombo))
panelPP.Score.SetText(formatScore(int(m.items[i].Info.Score)))
panelPP.N300.SetText(strconv.Itoa(int(m.items[i].Info.N300)))
panelPP.N100.SetText(strconv.Itoa(int(m.items[i].Info.N100)))
panelPP.N50.SetText(strconv.Itoa(int(m.items[i].Info.N50)))
panelPP.Misses.SetText(strconv.Itoa(int(m.items[i].Info.Misses)))
panelPP.AimStars.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Diff.Aim))
panelPP.SpeedStars.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Diff.Speed))
panelPP.Stars.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Diff.Total))
panelPP.TotalPP.SetText(fmt.Sprintf("%.2f pp", m.items[i].PP.PP.Total))
panelPP.AimPP.SetText(fmt.Sprintf("%.2f pp", m.items[i].PP.PP.Aim))
panelPP.AccPP.SetText(fmt.Sprintf("%.2f pp", m.items[i].PP.PP.Acc))
panelPP.SpeedPP.SetText(fmt.Sprintf("%.2f pp", m.items[i].PP.PP.Speed))
panelPP.AR.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Stats.AR))
panelPP.OD.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Stats.OD))
panelPP.CS.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Stats.CS))
panelPP.HP.SetText(fmt.Sprintf("%.2f", m.items[i].PP.Stats.HP))
panelPP.P95.SetText(fmt.Sprintf("%.2f", m.items[i].PP.StepPP.P95))
panelPP.P98.SetText(fmt.Sprintf("%.2f", m.items[i].PP.StepPP.P98))
panelPP.P99.SetText(fmt.Sprintf("%.2f", m.items[i].PP.StepPP.P99))
panelPP.P99p5.SetText(fmt.Sprintf("%.2f", m.items[i].PP.StepPP.P99p5))
panelPP.P100.SetText(fmt.Sprintf("%.2f", m.items[i].PP.StepPP.P100))
acc := (&oppai.Accuracy{int(m.items[i].Info.N300), int(m.items[i].Info.N100),
int(m.items[i].Info.N50), int(m.items[i].Info.Misses)}).Value()
panelPP.Acc.SetText(fmt.Sprintf("%.2f %%", acc*100.0))
rankText := grade(m.items[i].Info)
panelPP.Rank.SetText(rankText)
panelPP.Rank.SetTextColor(gradeColor(rankText))
}