#include "StateReset.h" #include "Globals.h" #include "NerfStatTrakConfig.h" #include "StateDefault.h" void ResetState::setup() { intro = true; introStart = currentTime; outro = false; selected = 0; } void ResetState::loop() { if (intro) { if (currentTime - introStart >= NerfResetIntroTime) intro = false; char text[] = "Reset"; display->writeTextLeft(text); return; } if (outro) { loopOutro(); return; } if (buttonA->changed() && !buttonA->pressed()) { switch (selected) { case 0: setCurrentState(new DefaultState()); return; case 1: resetHits(); break; case 2: resetShots(); break; case 3: resetHits(); resetShots(); break; } outroStart = currentTime; outro = true; return; } if (buttonB->changed() && !buttonB->pressed()) { selected++; if (selected > 3) selected = 0; } switch (selected) { case 0: { char text[] = "Cancel"; display->writeTextLeft(text); break; } case 1: { char text[] = "Hits"; display->writeTextLeft(text); break; } case 2: { char text[] = "Shots"; display->writeTextLeft(text); break; } case 3: { char text[] = "Both"; display->writeTextLeft(text); break; } } } void ResetState::loopOutro() { if (currentTime - outroStart >= NerfResetOutroTime) { setCurrentState(new DefaultState()); return; } char text[] = "Done"; display->writeTextLeft(text); }