Skip to content

Commit f785980

Browse files
authored
Merge pull request #534 from Decatur-Robotics/FRC-Rebuilt
Frc Rebuilt
2 parents 8914767 + 3a9311d commit f785980

File tree

13 files changed

+533
-177
lines changed

13 files changed

+533
-177
lines changed

components/stats/SmallGraph.tsx

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Defense, ReefscapeEnums } from "@/lib/Enums";
1+
import { Defense, RebuiltEnums } from "@/lib/Enums";
22
import { Report } from "@/lib/Types";
33
import ClientApi from "@/lib/api/ClientApi";
44

@@ -86,15 +86,24 @@ export default function SmallGraph(props: {
8686
case Defense.Full:
8787
return 1;
8888
}
89-
} else if (key === "EndgameClimbStatus") {
89+
} else if (key === "LevelClimbed") {
90+
///switch (data) {
91+
//case ReefscapeEnums.EndgameClimbStatus.None:
92+
//return 0;
93+
//case ReefscapeEnums.EndgameClimbStatus.Park:
94+
//return 0.33;
95+
//case ReefscapeEnums.EndgameClimbStatus.High:
96+
//return 0.66;
97+
//case ReefscapeEnums.EndgameClimbStatus.Low:
98+
//return 1;
9099
switch (data) {
91-
case ReefscapeEnums.EndgameClimbStatus.None:
100+
case RebuiltEnums.LevelClimbed.No:
92101
return 0;
93-
case ReefscapeEnums.EndgameClimbStatus.Park:
102+
case RebuiltEnums.LevelClimbed.First:
94103
return 0.33;
95-
case ReefscapeEnums.EndgameClimbStatus.High:
104+
case RebuiltEnums.LevelClimbed.Second:
96105
return 0.66;
97-
case ReefscapeEnums.EndgameClimbStatus.Low:
106+
case RebuiltEnums.LevelClimbed.Third:
98107
return 1;
99108
}
100109
}

lib/Enums.ts

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,42 @@ export namespace ReefscapeEnums {
110110
}
111111
}
112112

113+
export namespace RebuiltEnums {
114+
export enum ClimbingAbilities {
115+
No = "No",
116+
FirstLevel = "FirstLevel",
117+
SecondLevel = "SecondLevel",
118+
ThirdLevel = "ThirdLevel",
119+
}
120+
121+
export enum DriveOverBump {
122+
No = "No",
123+
Slow = "Slow",
124+
Fast = "Fast",
125+
}
126+
127+
export enum DriveUnderTrench {
128+
No = "No",
129+
Slow = "Slow",
130+
Fast = "Fast",
131+
}
132+
133+
export enum LevelClimbed {
134+
No = "No",
135+
First = "First",
136+
Second = "Second",
137+
Third = "Third",
138+
}
139+
140+
export enum AutoAbilities {
141+
NoAuto = "No Auto",
142+
MovePastStart = "Move Past Start",
143+
ClimbLevelOne = "Climb Level One",
144+
ScoreOneOrMoreFuel = "Score One Or More Fuel",
145+
ScoreFuelAndClimb = "Score Fuel And Climb",
146+
}
147+
}
148+
113149
export namespace DecodeEnums {
114150
export enum EndgameParkStatus {
115151
No = "No",
@@ -118,7 +154,7 @@ export namespace DecodeEnums {
118154
TwoBotPark = "Two Bot Park",
119155
}
120156

121-
export enum AutoCapabilities {
157+
export enum AutoStatus {
122158
NoAuto = "No Auto",
123159
MovePastStart = "Move Past Start",
124160
ScoreOneArtifact = "Score One Artifact",

lib/Gearbox.code-workspace

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"folders": [
3+
{
4+
"name": "Gearbox",
5+
"path": "..",
6+
},
7+
],
8+
"settings": {},
9+
}

lib/Layout.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import {
1010
IntoTheDeepEnums,
1111
FtcDrivetrain,
1212
ReefscapeEnums,
13+
RebuiltEnums,
1314
DecodeEnums,
1415
} from "./Enums";
1516
import { PitReportData, QuantData, Pitreport, Report, League } from "./Types";
@@ -218,7 +219,12 @@ export function keyToType(
218219
ReefscapeEnums.Climbing,
219220
ReefscapeEnums.DriveThroughDeepCage,
220221
ReefscapeEnums.EndgameClimbStatus,
221-
DecodeEnums.AutoCapabilities,
222+
RebuiltEnums.AutoAbilities,
223+
RebuiltEnums.ClimbingAbilities,
224+
RebuiltEnums.DriveOverBump,
225+
RebuiltEnums.DriveUnderTrench,
226+
RebuiltEnums.LevelClimbed,
227+
DecodeEnums.AutoStatus,
222228
DecodeEnums.EndgameParkStatus,
223229
];
224230

@@ -234,8 +240,14 @@ export function keyToType(
234240
if (key == "DriveThroughDeepCage") return ReefscapeEnums.DriveThroughDeepCage;
235241
if (key == "EndgameClimbStatus") return ReefscapeEnums.EndgameClimbStatus;
236242

243+
if (key == "AutoAbilities") return RebuiltEnums.AutoAbilities;
244+
if (key == "ClimbingAbilities") return RebuiltEnums.ClimbingAbilities;
245+
if (key == "DriveOverBump") return RebuiltEnums.DriveOverBump;
246+
if (key == "DiveUnderTrench") return RebuiltEnums.DriveUnderTrench;
247+
if (key == "LevelClimbed") return RebuiltEnums.LevelClimbed;
248+
237249
if (key == "EndgameParkStatusDecode") return DecodeEnums.EndgameParkStatus;
238-
if (key == "AutoAbilities") return DecodeEnums.AutoCapabilities;
250+
if (key == "AutoStatus") return DecodeEnums.AutoStatus;
239251

240252
for (const e of enums) {
241253
if (Object.values(e).includes(exampleData[key])) return e;

lib/api/ClientApi.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import {
4242
assignScoutersToCompetitionMatches,
4343
generateReportsForMatch,
4444
} from "../CompetitionHandling";
45-
import { CenterStage, Crescendo, games, IntoTheDeep } from "../games";
45+
import { CenterStage, Crescendo, games, IntoTheDeep, Rebuilt } from "../games";
4646
import { Statbotics } from "../Statbotics";
4747
import { TheBlueAlliance } from "../TheBlueAlliance";
4848
import { SlackNotLinkedError } from "./Errors";

lib/client/GameId.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ export enum GameId {
33
CenterStage = "CenterStage",
44
IntoTheDeep = "IntoTheDeep",
55
Reefscape = "Reefscape",
6+
Rebuilt = "Rebuilt",
67
Decode = "Decode",
78
}
89

9-
export const defaultGameId = GameId.Reefscape;
10+
export const defaultGameId = GameId.Rebuilt;

lib/client/StatsMath.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export function NumericalTotal<T extends QuantData>(
4949
reports: Report<T>[],
5050
) {
5151
let sum = 0;
52-
reports?.forEach((report) => (sum += getSelection(selector, report)));
52+
reports?.forEach(
53+
(report) => (sum += Number(getSelection(selector, report) || 0)),
54+
);
5355
return Round(sum);
5456
}
5557

@@ -158,10 +160,10 @@ export function GetMinimum(
158160
stat: string,
159161
) {
160162
if (!quantitativeReports) return 0;
161-
let minimum = quantitativeReports[0].data[stat];
163+
let minimum = Number(quantitativeReports[0].data[stat]);
162164
for (let repo of quantitativeReports) {
163-
if (repo.data[stat] < minimum) {
164-
minimum = repo.data[stat];
165+
if (Number(repo.data[stat]) < minimum) {
166+
minimum = Number(repo.data[stat]);
165167
}
166168
}
167169
return minimum;
@@ -175,8 +177,8 @@ export function GetMaximum(
175177
if (!quantitativeReports) return 0;
176178
let maximum = 0;
177179
for (let repo of quantitativeReports) {
178-
if (repo.data[stat] > maximum) {
179-
maximum = repo.data[stat];
180+
if (Number(repo.data[stat]) > maximum) {
181+
maximum = Number(repo.data[stat]);
180182
}
181183
}
182184
return maximum;

0 commit comments

Comments
 (0)