some progress?
This commit is contained in:
parent
ae7d92fcac
commit
5b1a54c59e
|
@ -11,6 +11,7 @@ class RecordSingle {
|
|||
late String replayId;
|
||||
late String ownId;
|
||||
late String gamemode;
|
||||
String? revolution;
|
||||
late DateTime timestamp;
|
||||
late ResultsStats stats;
|
||||
late int rank;
|
||||
|
@ -35,6 +36,7 @@ class RecordSingle {
|
|||
countryRank = cran;
|
||||
aggregateStats = AggregateStats.fromJson(json['results']['aggregatestats']);
|
||||
prisecter = Prisecter.fromJson(json['p']);
|
||||
revolution = json["revolution"];
|
||||
var ex = json['extras'] as Map<String, dynamic>;
|
||||
switch (ex.keys.firstOrNull){
|
||||
case "zenith":
|
||||
|
|
|
@ -7,6 +7,7 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:tetra_stats/data_objects/aggregate_stats.dart';
|
||||
import 'package:tetra_stats/data_objects/record_single.dart';
|
||||
import 'package:tetra_stats/data_objects/summaries.dart';
|
||||
import 'package:tetra_stats/data_objects/tetrio_constants.dart';
|
||||
import 'package:tetra_stats/data_objects/tetrio_player.dart';
|
||||
|
@ -143,18 +144,46 @@ class CompareState extends State<CompareView> {
|
|||
"Key Presses Per Piece",
|
||||
"Pieces Per Second",
|
||||
"Key Presses Per Second",
|
||||
""
|
||||
// TODO: line clears
|
||||
// TODO: spins
|
||||
"Finesse",
|
||||
"Finesse Faults",
|
||||
"",
|
||||
"Quads",
|
||||
"Triples",
|
||||
"Doubles",
|
||||
"Singles",
|
||||
"",
|
||||
"T-spins triples",
|
||||
"T-spins doubles",
|
||||
"T-spins singles",
|
||||
"T-spins zeros",
|
||||
"Mini T-spins doubles",
|
||||
"Mini T-spins singles",
|
||||
"Mini T-spins zeros"
|
||||
],
|
||||
"Blitz": [
|
||||
"Score",
|
||||
"Pieces",
|
||||
"Lines",
|
||||
"Level",
|
||||
"Inputs",
|
||||
"Key Presses Per Piece",
|
||||
"Pieces Per Second",
|
||||
"Key Presses Per Second",
|
||||
""
|
||||
"Finesse",
|
||||
"Finesse Faults",
|
||||
"",
|
||||
"Quads",
|
||||
"Triples",
|
||||
"Doubles",
|
||||
"Singles",
|
||||
"",
|
||||
"T-spins triples",
|
||||
"T-spins doubles",
|
||||
"T-spins singles",
|
||||
"T-spins zeros",
|
||||
"Mini T-spins doubles",
|
||||
"Mini T-spins singles",
|
||||
"Mini T-spins zeros"
|
||||
],
|
||||
"Zen": [
|
||||
"Score",
|
||||
|
@ -184,6 +213,10 @@ class CompareState extends State<CompareView> {
|
|||
}
|
||||
|
||||
addvaluesEntrys(TetrioPlayer p, Summaries s){
|
||||
RecordSingle? zenithRun = s.zenith != null ? s.zenith : s.zenithCareerBest;
|
||||
bool oldZenithRun = s.zenith == null;
|
||||
RecordSingle? zenithExRun = s.zenithEx != null ? s.zenithEx : s.zenithExCareerBest;
|
||||
bool oldZenithExRun = s.zenithEx == null;
|
||||
rawValues[0].add([
|
||||
p.registrationTime,
|
||||
p.xp,
|
||||
|
@ -224,60 +257,60 @@ class CompareState extends State<CompareView> {
|
|||
]
|
||||
);
|
||||
rawValues[2].add([
|
||||
s.zenith?.stats.zenith?.altitude,
|
||||
s.zenith?.rank,
|
||||
s.zenith?.aggregateStats.apm,
|
||||
s.zenith?.aggregateStats.pps,
|
||||
s.zenith?.aggregateStats.vs,
|
||||
s.zenith?.stats.kills,
|
||||
s.zenith?.stats.topBtB,
|
||||
s.zenith?.stats.cps,
|
||||
s.zenith?.stats.zenith?.peakrank,
|
||||
s.zenith?.stats.finalTime,
|
||||
s.zenith?.stats.finessePercentage,
|
||||
zenithRun?.stats.zenith?.altitude,
|
||||
zenithRun?.rank,
|
||||
zenithRun?.aggregateStats.apm,
|
||||
zenithRun?.aggregateStats.pps,
|
||||
zenithRun?.aggregateStats.vs,
|
||||
zenithRun?.stats.kills,
|
||||
zenithRun?.stats.topBtB,
|
||||
zenithRun?.stats.cps,
|
||||
zenithRun?.stats.zenith?.peakrank,
|
||||
zenithRun?.stats.finalTime,
|
||||
zenithRun?.stats.finessePercentage,
|
||||
"",
|
||||
s.zenith?.aggregateStats.nerdStats.app,
|
||||
s.zenith?.aggregateStats.nerdStats.vsapm,
|
||||
s.zenith?.aggregateStats.nerdStats.dss,
|
||||
s.zenith?.aggregateStats.nerdStats.dsp,
|
||||
s.zenith?.aggregateStats.nerdStats.appdsp,
|
||||
s.zenith?.aggregateStats.nerdStats.cheese,
|
||||
s.zenith?.aggregateStats.nerdStats.gbe,
|
||||
s.zenith?.aggregateStats.nerdStats.nyaapp,
|
||||
s.zenith?.aggregateStats.nerdStats.area,
|
||||
zenithRun?.aggregateStats.nerdStats.app,
|
||||
zenithRun?.aggregateStats.nerdStats.vsapm,
|
||||
zenithRun?.aggregateStats.nerdStats.dss,
|
||||
zenithRun?.aggregateStats.nerdStats.dsp,
|
||||
zenithRun?.aggregateStats.nerdStats.appdsp,
|
||||
zenithRun?.aggregateStats.nerdStats.cheese,
|
||||
zenithRun?.aggregateStats.nerdStats.gbe,
|
||||
zenithRun?.aggregateStats.nerdStats.nyaapp,
|
||||
zenithRun?.aggregateStats.nerdStats.area,
|
||||
"",
|
||||
s.zenith?.aggregateStats.playstyle.opener,
|
||||
s.zenith?.aggregateStats.playstyle.plonk,
|
||||
s.zenith?.aggregateStats.playstyle.stride,
|
||||
s.zenith?.aggregateStats.playstyle.infds,
|
||||
zenithRun?.aggregateStats.playstyle.opener,
|
||||
zenithRun?.aggregateStats.playstyle.plonk,
|
||||
zenithRun?.aggregateStats.playstyle.stride,
|
||||
zenithRun?.aggregateStats.playstyle.infds,
|
||||
]);
|
||||
rawValues[3].add([
|
||||
s.zenithEx?.stats.zenith?.altitude,
|
||||
s.zenithEx?.rank,
|
||||
s.zenithEx?.aggregateStats.apm,
|
||||
s.zenithEx?.aggregateStats.pps,
|
||||
s.zenithEx?.aggregateStats.vs,
|
||||
s.zenithEx?.stats.kills,
|
||||
s.zenithEx?.stats.topBtB,
|
||||
s.zenithEx?.stats.cps,
|
||||
s.zenithEx?.stats.zenith?.peakrank,
|
||||
s.zenithEx?.stats.finalTime,
|
||||
s.zenithEx?.stats.finessePercentage,
|
||||
zenithExRun?.stats.zenith?.altitude,
|
||||
zenithExRun?.rank,
|
||||
zenithExRun?.aggregateStats.apm,
|
||||
zenithExRun?.aggregateStats.pps,
|
||||
zenithExRun?.aggregateStats.vs,
|
||||
zenithExRun?.stats.kills,
|
||||
zenithExRun?.stats.topBtB,
|
||||
zenithExRun?.stats.cps,
|
||||
zenithExRun?.stats.zenith?.peakrank,
|
||||
zenithExRun?.stats.finalTime,
|
||||
zenithExRun?.stats.finessePercentage,
|
||||
"",
|
||||
s.zenithEx?.aggregateStats.nerdStats.app,
|
||||
s.zenithEx?.aggregateStats.nerdStats.vsapm,
|
||||
s.zenithEx?.aggregateStats.nerdStats.dss,
|
||||
s.zenithEx?.aggregateStats.nerdStats.dsp,
|
||||
s.zenithEx?.aggregateStats.nerdStats.appdsp,
|
||||
s.zenithEx?.aggregateStats.nerdStats.cheese,
|
||||
s.zenithEx?.aggregateStats.nerdStats.gbe,
|
||||
s.zenithEx?.aggregateStats.nerdStats.nyaapp,
|
||||
s.zenithEx?.aggregateStats.nerdStats.area,
|
||||
zenithExRun?.aggregateStats.nerdStats.app,
|
||||
zenithExRun?.aggregateStats.nerdStats.vsapm,
|
||||
zenithExRun?.aggregateStats.nerdStats.dss,
|
||||
zenithExRun?.aggregateStats.nerdStats.dsp,
|
||||
zenithExRun?.aggregateStats.nerdStats.appdsp,
|
||||
zenithExRun?.aggregateStats.nerdStats.cheese,
|
||||
zenithExRun?.aggregateStats.nerdStats.gbe,
|
||||
zenithExRun?.aggregateStats.nerdStats.nyaapp,
|
||||
zenithExRun?.aggregateStats.nerdStats.area,
|
||||
"",
|
||||
s.zenithEx?.aggregateStats.playstyle.opener,
|
||||
s.zenithEx?.aggregateStats.playstyle.plonk,
|
||||
s.zenithEx?.aggregateStats.playstyle.stride,
|
||||
s.zenithEx?.aggregateStats.playstyle.infds,
|
||||
zenithExRun?.aggregateStats.playstyle.opener,
|
||||
zenithExRun?.aggregateStats.playstyle.plonk,
|
||||
zenithExRun?.aggregateStats.playstyle.stride,
|
||||
zenithExRun?.aggregateStats.playstyle.infds,
|
||||
]);;
|
||||
rawValues[4].add([
|
||||
s.sprint?.stats.finalTime,
|
||||
|
@ -285,16 +318,48 @@ class CompareState extends State<CompareView> {
|
|||
s.sprint?.stats.inputs,
|
||||
s.sprint?.stats.kpp,
|
||||
s.sprint?.stats.pps,
|
||||
s.sprint?.stats.kps
|
||||
s.sprint?.stats.kps,
|
||||
s.sprint?.stats.finessePercentage,
|
||||
s.sprint?.stats.finesse?.faults,
|
||||
"",
|
||||
s.sprint?.stats.clears.quads,
|
||||
s.sprint?.stats.clears.triples,
|
||||
s.sprint?.stats.clears.doubles,
|
||||
s.sprint?.stats.clears.singles,
|
||||
"",
|
||||
s.sprint?.stats.clears.tSpinTriples,
|
||||
s.sprint?.stats.clears.tSpinDoubles,
|
||||
s.sprint?.stats.clears.tSpinSingles,
|
||||
s.sprint?.stats.clears.tSpinZeros,
|
||||
s.sprint?.stats.clears.tSpinMiniDoubles,
|
||||
s.sprint?.stats.clears.tSpinMiniSingles,
|
||||
s.sprint?.stats.clears.tSpinMiniZeros
|
||||
]);
|
||||
rawValues[5].add(
|
||||
[
|
||||
s.blitz?.stats.score,
|
||||
s.blitz?.stats.piecesPlaced,
|
||||
s.blitz?.stats.lines,
|
||||
s.blitz?.stats.level,
|
||||
s.blitz?.stats.inputs,
|
||||
s.blitz?.stats.kpp,
|
||||
s.blitz?.stats.pps,
|
||||
s.blitz?.stats.kps
|
||||
s.blitz?.stats.kps,
|
||||
s.blitz?.stats.finessePercentage,
|
||||
s.blitz?.stats.finesse?.faults,
|
||||
"",
|
||||
s.blitz?.stats.clears.quads,
|
||||
s.blitz?.stats.clears.triples,
|
||||
s.blitz?.stats.clears.doubles,
|
||||
s.blitz?.stats.clears.singles,
|
||||
"",
|
||||
s.blitz?.stats.clears.tSpinTriples,
|
||||
s.blitz?.stats.clears.tSpinDoubles,
|
||||
s.blitz?.stats.clears.tSpinSingles,
|
||||
s.blitz?.stats.clears.tSpinZeros,
|
||||
s.blitz?.stats.clears.tSpinMiniDoubles,
|
||||
s.blitz?.stats.clears.tSpinMiniSingles,
|
||||
s.blitz?.stats.clears.tSpinMiniZeros
|
||||
]
|
||||
);
|
||||
rawValues[6].add([
|
||||
|
@ -339,60 +404,60 @@ class CompareState extends State<CompareView> {
|
|||
Text(s.league.playstyle != null ? f4.format(s.league.playstyle!.infds) : "---"),
|
||||
]);
|
||||
formattedValues[2].add([
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.zenith!.altitude) : "---"),
|
||||
Text(s.zenith != null ? "№ "+intf.format(s.zenith!.rank) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.apm) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.pps) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.vs) : "---"),
|
||||
Text(s.zenith != null ? intf.format(s.zenith!.stats.kills) : "---"),
|
||||
Text(s.zenith != null ? intf.format(s.zenith!.stats.topBtB) : "---"),
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.cps) : "---"),
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.zenith!.peakrank) : "---"),
|
||||
Text(s.zenith != null ? getMoreNormalTime(s.zenith!.stats.finalTime) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.stats.finessePercentage*100)+"%" : "---"),
|
||||
RichText(text: TextSpan(text: zenithRun != null ? "${f2.format(zenithRun.stats.zenith!.altitude)} m" : "---", style: TextStyle(fontFamily: "Eurostile Round"), children: [if (zenithRun != null && oldZenithRun) TextSpan(text: " (${zenithRun.revolution})", style: TextStyle(color: Colors.grey))])),
|
||||
Text(zenithRun != null ? "№ "+intf.format(zenithRun.rank) : "---"),
|
||||
Text(zenithRun != null ? f2.format(zenithRun.aggregateStats.apm) : "---"),
|
||||
Text(zenithRun != null ? f2.format(zenithRun.aggregateStats.pps) : "---"),
|
||||
Text(zenithRun != null ? f2.format(zenithRun.aggregateStats.vs) : "---"),
|
||||
Text(zenithRun != null ? intf.format(zenithRun.stats.kills) : "---"),
|
||||
Text(zenithRun != null ? intf.format(zenithRun.stats.topBtB) : "---"),
|
||||
Text(zenithRun != null ? f4.format(zenithRun.stats.cps) : "---"),
|
||||
Text(zenithRun != null ? f4.format(zenithRun.stats.zenith!.peakrank) : "---"),
|
||||
Text(zenithRun != null ? getMoreNormalTime(zenithRun.stats.finalTime) : "---"),
|
||||
Text(zenithRun != null ? f2.format(zenithRun.stats.finessePercentage*100)+"%" : "---"),
|
||||
Text(""),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.app) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.vsapm) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.dss) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.dsp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.appdsp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.cheese) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.gbe) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.nyaapp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.area) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.app) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.vsapm) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.dss) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.dsp) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.appdsp) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.cheese) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.gbe) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.nyaapp) : "---"),
|
||||
Text(zenithRun?.aggregateStats.nerdStats != null ? f4.format(zenithRun!.aggregateStats.nerdStats.area) : "---"),
|
||||
Text(""),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.opener) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.plonk) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.stride) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.infds) : "---"),
|
||||
Text(zenithRun?.aggregateStats.playstyle != null ? f4.format(zenithRun!.aggregateStats.playstyle.opener) : "---"),
|
||||
Text(zenithRun?.aggregateStats.playstyle != null ? f4.format(zenithRun!.aggregateStats.playstyle.plonk) : "---"),
|
||||
Text(zenithRun?.aggregateStats.playstyle != null ? f4.format(zenithRun!.aggregateStats.playstyle.stride) : "---"),
|
||||
Text(zenithRun?.aggregateStats.playstyle != null ? f4.format(zenithRun!.aggregateStats.playstyle.infds) : "---"),
|
||||
]);
|
||||
formattedValues[3].add([
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.zenith!.altitude) : "---"),
|
||||
Text(s.zenith != null ? "№ "+intf.format(s.zenith!.rank) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.apm) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.pps) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.aggregateStats.vs) : "---"),
|
||||
Text(s.zenith != null ? intf.format(s.zenith!.stats.kills) : "---"),
|
||||
Text(s.zenith != null ? intf.format(s.zenith!.stats.topBtB) : "---"),
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.cps) : "---"),
|
||||
Text(s.zenith != null ? f4.format(s.zenith!.stats.zenith!.peakrank) : "---"),
|
||||
Text(s.zenith != null ? getMoreNormalTime(s.zenith!.stats.finalTime) : "---"),
|
||||
Text(s.zenith != null ? f2.format(s.zenith!.stats.finessePercentage*100)+"%" : "---"),
|
||||
RichText(text: TextSpan(text: zenithExRun != null ? "${f2.format(zenithExRun.stats.zenith!.altitude)} m" : "---", style: TextStyle(fontFamily: "Eurostile Round"), children: [if (zenithExRun != null && oldZenithExRun) TextSpan(text: " (${zenithExRun.revolution})", style: TextStyle(color: Colors.grey))])),
|
||||
Text(zenithExRun != null ? "№ "+intf.format(zenithExRun.rank) : "---"),
|
||||
Text(zenithExRun != null ? f2.format(zenithExRun.aggregateStats.apm) : "---"),
|
||||
Text(zenithExRun != null ? f2.format(zenithExRun.aggregateStats.pps) : "---"),
|
||||
Text(zenithExRun != null ? f2.format(zenithExRun.aggregateStats.vs) : "---"),
|
||||
Text(zenithExRun != null ? intf.format(zenithExRun.stats.kills) : "---"),
|
||||
Text(zenithExRun != null ? intf.format(zenithExRun.stats.topBtB) : "---"),
|
||||
Text(zenithExRun != null ? f4.format(zenithExRun.stats.cps) : "---"),
|
||||
Text(zenithExRun != null ? f4.format(zenithExRun.stats.zenith!.peakrank) : "---"),
|
||||
Text(zenithExRun != null ? getMoreNormalTime(zenithExRun.stats.finalTime) : "---"),
|
||||
Text(zenithExRun != null ? f2.format(zenithExRun.stats.finessePercentage*100)+"%" : "---"),
|
||||
Text(""),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.app) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.vsapm) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.dss) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.dsp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.appdsp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.cheese) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.gbe) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.nyaapp) : "---"),
|
||||
Text(s.zenith?.aggregateStats.nerdStats != null ? f4.format(s.zenith!.aggregateStats.nerdStats.area) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.app) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.vsapm) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.dss) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.dsp) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.appdsp) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.cheese) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.gbe) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.nyaapp) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.nerdStats != null ? f4.format(zenithExRun!.aggregateStats.nerdStats.area) : "---"),
|
||||
Text(""),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.opener) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.plonk) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.stride) : "---"),
|
||||
Text(s.zenith?.aggregateStats.playstyle != null ? f4.format(s.zenith!.aggregateStats.playstyle.infds) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.playstyle != null ? f4.format(zenithExRun!.aggregateStats.playstyle.opener) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.playstyle != null ? f4.format(zenithExRun!.aggregateStats.playstyle.plonk) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.playstyle != null ? f4.format(zenithExRun!.aggregateStats.playstyle.stride) : "---"),
|
||||
Text(zenithExRun?.aggregateStats.playstyle != null ? f4.format(zenithExRun!.aggregateStats.playstyle.infds) : "---"),
|
||||
]);
|
||||
formattedValues[4].add([
|
||||
Text(s.sprint != null ? getMoreNormalTime(s.sprint!.stats.finalTime) : "---"),
|
||||
|
@ -400,15 +465,47 @@ class CompareState extends State<CompareView> {
|
|||
Text(s.sprint != null ? intf.format(s.sprint!.stats.inputs) : "---"),
|
||||
Text(s.sprint != null ? f4.format(s.sprint!.stats.kpp) : "---"),
|
||||
Text(s.sprint != null ? f4.format(s.sprint!.stats.pps) : "---"),
|
||||
Text(s.sprint != null ? f4.format(s.sprint!.stats.kps) : "---")
|
||||
Text(s.sprint != null ? f4.format(s.sprint!.stats.kps) : "---"),
|
||||
Text(s.sprint != null ? percentage.format(s.sprint!.stats.finessePercentage) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.finesse?.faults) : "---"),
|
||||
Text(""),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.quads) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.triples) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.doubles) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.singles) : "---"),
|
||||
Text(""),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinTriples) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinDoubles) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinSingles) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinZeros) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinMiniDoubles) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinMiniSingles) : "---"),
|
||||
Text(s.sprint != null ? intf.format(s.sprint!.stats.clears.tSpinMiniZeros) : "---"),
|
||||
]);
|
||||
formattedValues[5].add([
|
||||
Text(s.blitz != null ? intf.format(s.sprint!.stats.score) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.score) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.piecesPlaced) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.lines) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.level) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.inputs) : "---"),
|
||||
Text(s.blitz != null ? f4.format(s.blitz!.stats.kpp) : "---"),
|
||||
Text(s.blitz != null ? f4.format(s.blitz!.stats.pps) : "---"),
|
||||
Text(s.blitz != null ? f4.format(s.blitz!.stats.kps) : "---")
|
||||
Text(s.blitz != null ? f4.format(s.blitz!.stats.kps) : "---"),
|
||||
Text(s.blitz != null ? percentage.format(s.blitz!.stats.finessePercentage) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.finesse?.faults) : "---"),
|
||||
Text(""),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.quads) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.triples) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.doubles) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.singles) : "---"),
|
||||
Text(""),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinTriples) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinDoubles) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinSingles) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinZeros) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinMiniDoubles) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinMiniSingles) : "---"),
|
||||
Text(s.blitz != null ? intf.format(s.blitz!.stats.clears.tSpinMiniZeros) : "---"),
|
||||
]);
|
||||
formattedValues[6].add([
|
||||
Text(intf.format(s.zen.score)),
|
||||
|
@ -429,7 +526,7 @@ class CompareState extends State<CompareView> {
|
|||
[
|
||||
summaries.reduce((curr, next) => curr.league.tr > next.league.tr ? curr : next).league.tr,
|
||||
summaries.reduce((curr, next) => (curr.league.glicko??-1) > (next.league.glicko??-1) ? curr : next).league.glicko,
|
||||
summaries.reduce((curr, next) => (curr.league.rd??-1) > (next.league.rd??-1) ? curr : next).league.rd,
|
||||
summaries.reduce((curr, next) => (curr.league.rd??-1) < (next.league.rd??-1) ? curr : next).league.rd,
|
||||
summaries.reduce((curr, next) => curr.league.gxe > next.league.gxe ? curr : next).league.gxe,
|
||||
summaries.reduce((curr, next) => curr.league.s1tr > next.league.s1tr ? curr : next).league.s1tr,
|
||||
summaries.reduce((curr, next) => curr.league.standing > next.league.standing ? curr : next).league.standing,
|
||||
|
@ -518,14 +615,46 @@ class CompareState extends State<CompareView> {
|
|||
summaries.reduce((curr, next) => (curr.sprint?.stats.kpp??-1) < (next.sprint?.stats.kpp??-1) ? curr : next).sprint?.stats.kpp,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.pps??-1) > (next.sprint?.stats.pps??-1) ? curr : next).sprint?.stats.pps,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.kps??-1) > (next.sprint?.stats.kps??-1) ? curr : next).sprint?.stats.kps,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.finessePercentage??-1) > (next.sprint?.stats.finessePercentage??-1) ? curr : next).sprint?.stats.finessePercentage,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.finesse?.faults??-1) < (next.sprint?.stats.finesse?.faults??-1) ? curr : next).sprint?.stats.finesse?.faults,
|
||||
null,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.quads??-1) > (next.sprint?.stats.clears.quads??-1) ? curr : next).sprint?.stats.clears.quads,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.triples??-1) > (next.sprint?.stats.clears.triples??-1) ? curr : next).sprint?.stats.clears.triples,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.doubles??-1) > (next.sprint?.stats.clears.doubles??-1) ? curr : next).sprint?.stats.clears.doubles,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.singles??-1) > (next.sprint?.stats.clears.singles??-1) ? curr : next).sprint?.stats.clears.singles,
|
||||
null,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinTriples??-1) > (next.sprint?.stats.clears.tSpinTriples??-1) ? curr : next).sprint?.stats.clears.tSpinTriples,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinDoubles??-1) > (next.sprint?.stats.clears.tSpinDoubles??-1) ? curr : next).sprint?.stats.clears.tSpinDoubles,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinSingles??-1) > (next.sprint?.stats.clears.tSpinSingles??-1) ? curr : next).sprint?.stats.clears.tSpinSingles,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinZeros??-1) > (next.sprint?.stats.clears.tSpinZeros??-1) ? curr : next).sprint?.stats.clears.tSpinZeros,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinMiniDoubles??-1) > (next.sprint?.stats.clears.tSpinMiniDoubles??-1) ? curr : next).sprint?.stats.clears.tSpinMiniDoubles,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinMiniSingles??-1) > (next.sprint?.stats.clears.tSpinMiniSingles??-1) ? curr : next).sprint?.stats.clears.tSpinMiniSingles,
|
||||
summaries.reduce((curr, next) => (curr.sprint?.stats.clears.tSpinMiniZeros??-1) > (next.sprint?.stats.clears.tSpinMiniZeros??-1) ? curr : next).sprint?.stats.clears.tSpinMiniZeros,
|
||||
],
|
||||
[
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.score??-1) > (next.blitz?.stats.score??-1) ? curr : next).blitz?.stats.score,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.piecesPlaced??-1) < (next.blitz?.stats.piecesPlaced??-1) ? curr : next).blitz?.stats.piecesPlaced,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.lines??-1) < (next.blitz?.stats.lines??-1) ? curr : next).blitz?.stats.lines,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.level??-1) < (next.blitz?.stats.level??-1) ? curr : next).blitz?.stats.level,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.inputs??-1) < (next.blitz?.stats.inputs??-1) ? curr : next).blitz?.stats.inputs,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.kpp??-1) < (next.blitz?.stats.kpp??-1) ? curr : next).blitz?.stats.kpp,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.pps??-1) > (next.blitz?.stats.pps??-1) ? curr : next).blitz?.stats.pps,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.kps??-1) > (next.blitz?.stats.kps??-1) ? curr : next).blitz?.stats.kps,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.finessePercentage??-1) > (next.blitz?.stats.finessePercentage??-1) ? curr : next).blitz?.stats.finessePercentage,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.finesse?.faults??-1) < (next.blitz?.stats.finesse?.faults??-1) ? curr : next).blitz?.stats.finesse?.faults,
|
||||
null,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.quads??-1) > (next.blitz?.stats.clears.quads??-1) ? curr : next).blitz?.stats.clears.quads,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.triples??-1) > (next.blitz?.stats.clears.triples??-1) ? curr : next).blitz?.stats.clears.triples,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.doubles??-1) > (next.blitz?.stats.clears.doubles??-1) ? curr : next).blitz?.stats.clears.doubles,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.singles??-1) > (next.blitz?.stats.clears.singles??-1) ? curr : next).blitz?.stats.clears.singles,
|
||||
null,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinTriples??-1) > (next.blitz?.stats.clears.tSpinTriples??-1) ? curr : next).blitz?.stats.clears.tSpinTriples,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinDoubles??-1) > (next.blitz?.stats.clears.tSpinDoubles??-1) ? curr : next).blitz?.stats.clears.tSpinDoubles,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinSingles??-1) > (next.blitz?.stats.clears.tSpinSingles??-1) ? curr : next).blitz?.stats.clears.tSpinSingles,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinZeros??-1) > (next.blitz?.stats.clears.tSpinZeros??-1) ? curr : next).blitz?.stats.clears.tSpinZeros,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinMiniDoubles??-1) > (next.blitz?.stats.clears.tSpinMiniDoubles??-1) ? curr : next).blitz?.stats.clears.tSpinMiniDoubles,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinMiniSingles??-1) > (next.blitz?.stats.clears.tSpinMiniSingles??-1) ? curr : next).blitz?.stats.clears.tSpinMiniSingles,
|
||||
summaries.reduce((curr, next) => (curr.blitz?.stats.clears.tSpinMiniZeros??-1) > (next.blitz?.stats.clears.tSpinMiniZeros??-1) ? curr : next).blitz?.stats.clears.tSpinMiniZeros,
|
||||
],
|
||||
[
|
||||
summaries.reduce((curr, next) => curr.zen.score > next.zen.score ? curr : next).zen.score,
|
||||
|
|
|
@ -44,6 +44,8 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
|
|||
Stats _Ychart = Stats.tr;
|
||||
Stats _Xchart = Stats.tr;
|
||||
int _season = currentSeason-1;
|
||||
ValueNotifier<String> historyPlayerUsername = ValueNotifier("");
|
||||
ValueNotifier<String> historyPlayerAvatarRevizion = ValueNotifier("");
|
||||
List<String> excludeRanks = [];
|
||||
late Future<List<_MyScatterSpot>> futureLeague = getTetraLeagueData(_Xchart, _Ychart);
|
||||
String searchLeague = "";
|
||||
|
@ -177,7 +179,7 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
|
|||
entry.userId,
|
||||
entry.username,
|
||||
entry.rank,
|
||||
(rankColors[entry.rank]??Colors.white).withAlpha((searchLeague.isNotEmpty && entry.username.startsWith(searchLeague.toLowerCase())) ? 255 : 20)
|
||||
(rankColors[entry.rank]??Colors.white).withOpacity((searchLeague.isEmpty || entry.username.startsWith(searchLeague.toLowerCase())) ? 1.0 : 0.005)
|
||||
)
|
||||
];
|
||||
return _spots;
|
||||
|
@ -274,6 +276,10 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
|
|||
dataSource: snapshot.data,
|
||||
animationDuration: 0,
|
||||
pointColorMapper: (data, _) => data.color,
|
||||
markerSettings: MarkerSettings(
|
||||
isVisible: false,
|
||||
borderColor: Colors.black,
|
||||
),
|
||||
xValueMapper: (data, _) => data.x,
|
||||
yValueMapper: (data, _) => data.y,
|
||||
onPointTap: (point) => Navigator.push(context, MaterialPageRoute(builder: (context) => MainView(player: snapshot.data![point.pointIndex!].nickname), maintainState: false)),
|
||||
|
@ -348,11 +354,28 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
|
|||
spacing: 20,
|
||||
crossAxisAlignment: WrapCrossAlignment.center,
|
||||
children: [
|
||||
if (_graph == Graph.history) Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Icon(Icons.person),
|
||||
Padding(
|
||||
padding: EdgeInsets.all(8.0),
|
||||
child: ValueListenableBuilder<String>(
|
||||
valueListenable: historyPlayerUsername,
|
||||
builder: (context, value, child) {
|
||||
return Text(value, style: TextStyle(fontSize: 22, fontFamily: "Eurostile Round Extended"));
|
||||
},
|
||||
)
|
||||
),
|
||||
],
|
||||
),
|
||||
if (_graph == Graph.leagueState) SizedBox(
|
||||
width: 300,
|
||||
child: TextField(
|
||||
style: TextStyle(fontSize: 18.0000),
|
||||
decoration: InputDecoration(
|
||||
icon: Icon(Icons.search)
|
||||
icon: Icon(Icons.search),
|
||||
isDense: true
|
||||
),
|
||||
onChanged: (v){
|
||||
searchLeague = v;
|
||||
|
@ -414,7 +437,7 @@ class _DestinationGraphsState extends State<DestinationGraphs> {
|
|||
),
|
||||
],
|
||||
),
|
||||
if (_graph != Graph.leagueState) Row(
|
||||
if (_graph == Graph.history) Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Checkbox(value: _smooth,
|
||||
|
|
|
@ -233,31 +233,29 @@ class _RankState extends State<RankView> {
|
|||
SizedBox(
|
||||
width: constraints.maxWidth - 350,
|
||||
height: constraints.maxHeight,
|
||||
child: Column(
|
||||
child: Row(
|
||||
children: [
|
||||
SegmentedButton<CardMod>(
|
||||
showSelectedIcon: false,
|
||||
selected: <CardMod>{cardMod},
|
||||
segments: <ButtonSegment<CardMod>>[
|
||||
ButtonSegment<CardMod>(
|
||||
value: CardMod.graph,
|
||||
label: Text("Graph"),
|
||||
SizedBox(
|
||||
width: 200.0,
|
||||
child: Card(
|
||||
child: Column(
|
||||
children: [],
|
||||
),
|
||||
ButtonSegment<CardMod>(
|
||||
value: CardMod.graph,
|
||||
label: Text("Minimums"),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Card(
|
||||
child: Column(
|
||||
children: [],
|
||||
),
|
||||
ButtonSegment<CardMod>(
|
||||
value: CardMod.graph,
|
||||
label: Text("Maximums"),
|
||||
)
|
||||
],
|
||||
onSelectionChanged: (p0) {
|
||||
setState(() {
|
||||
cardMod = p0.first;
|
||||
//_transition.;
|
||||
});
|
||||
},
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Card(
|
||||
child: Column(
|
||||
children: [],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue