diff --git a/db/migrations/20140524160241_CreateEventSettings.sql b/db/migrations/20140524160241_CreateEventSettings.sql index 3ed57b5..290b6ab 100644 --- a/db/migrations/20140524160241_CreateEventSettings.sql +++ b/db/migrations/20140524160241_CreateEventSettings.sql @@ -31,7 +31,9 @@ CREATE TABLE event_settings ( pausedurationsec int, teleopdurationsec int, warningremainingdurationsec int, - habdockingthreshold int + stage1capacity int, + stage2capacity int, + stage3capacity int ); -- +goose Down diff --git a/field/arena.go b/field/arena.go index e329c39..419f81e 100644 --- a/field/arena.go +++ b/field/arena.go @@ -158,8 +158,9 @@ func (arena *Arena) LoadSettings() error { game.UpdateMatchSounds() arena.MatchTimingNotifier.Notify() - // TODO(pat): Customize 2020 scoring settings here. - //game.HabDockingThreshold = settings.HabDockingThreshold + game.StageCapacities[game.Stage1] = settings.Stage1Capacity + game.StageCapacities[game.Stage2] = settings.Stage2Capacity + game.StageCapacities[game.Stage3] = settings.Stage3Capacity return nil } diff --git a/model/event_settings.go b/model/event_settings.go index 016092a..1092485 100644 --- a/model/event_settings.go +++ b/model/event_settings.go @@ -38,7 +38,9 @@ type EventSettings struct { PauseDurationSec int TeleopDurationSec int WarningRemainingDurationSec int - HabDockingThreshold int + Stage1Capacity int + Stage2Capacity int + Stage3Capacity int } const eventSettingsId = 0 @@ -62,7 +64,9 @@ func (database *Database) GetEventSettings() (*EventSettings, error) { eventSettings.PauseDurationSec = game.MatchTiming.PauseDurationSec eventSettings.TeleopDurationSec = game.MatchTiming.TeleopDurationSec eventSettings.WarningRemainingDurationSec = game.MatchTiming.WarningRemainingDurationSec - eventSettings.HabDockingThreshold = 15 + eventSettings.Stage1Capacity = game.StageCapacities[game.Stage1] + eventSettings.Stage2Capacity = game.StageCapacities[game.Stage2] + eventSettings.Stage3Capacity = game.StageCapacities[game.Stage3] err = database.eventSettingsMap.Insert(eventSettings) if err != nil { diff --git a/model/event_settings_test.go b/model/event_settings_test.go index 1491f1a..0c3344a 100644 --- a/model/event_settings_test.go +++ b/model/event_settings_test.go @@ -16,7 +16,8 @@ func TestEventSettingsReadWrite(t *testing.T) { assert.Equal(t, EventSettings{Id: 0, Name: "Untitled Event", NumElimAlliances: 8, SelectionRound2Order: "L", SelectionRound3Order: "", TBADownloadEnabled: true, ApTeamChannel: 157, ApAdminChannel: 0, ApAdminWpaKey: "1234Five", WarmupDurationSec: 0, AutoDurationSec: 15, PauseDurationSec: 2, - TeleopDurationSec: 135, WarningRemainingDurationSec: 30, HabDockingThreshold: 15}, *eventSettings) + TeleopDurationSec: 135, WarningRemainingDurationSec: 30, Stage1Capacity: 9, Stage2Capacity: 20, + Stage3Capacity: 20}, *eventSettings) eventSettings.Name = "Chezy Champs" eventSettings.NumElimAlliances = 6 diff --git a/templates/setup_settings.html b/templates/setup_settings.html index 3865a3b..921c984 100644 --- a/templates/setup_settings.html +++ b/templates/setup_settings.html @@ -243,12 +243,6 @@
Game-Specific -
- -
- -
-
@@ -274,6 +268,24 @@ value="{{.WarningRemainingDurationSec}}">
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
diff --git a/web/setup_settings.go b/web/setup_settings.go index cad4b45..a78f262 100644 --- a/web/setup_settings.go +++ b/web/setup_settings.go @@ -75,7 +75,9 @@ func (web *Web) settingsPostHandler(w http.ResponseWriter, r *http.Request) { eventSettings.PauseDurationSec, _ = strconv.Atoi(r.PostFormValue("pauseDurationSec")) eventSettings.TeleopDurationSec, _ = strconv.Atoi(r.PostFormValue("teleopDurationSec")) eventSettings.WarningRemainingDurationSec, _ = strconv.Atoi(r.PostFormValue("warningRemainingDurationSec")) - eventSettings.HabDockingThreshold, _ = strconv.Atoi(r.PostFormValue("habDockingThreshold")) + eventSettings.Stage1Capacity, _ = strconv.Atoi(r.PostFormValue("stage1Capacity")) + eventSettings.Stage2Capacity, _ = strconv.Atoi(r.PostFormValue("stage2Capacity")) + eventSettings.Stage3Capacity, _ = strconv.Atoi(r.PostFormValue("stage3Capacity")) if eventSettings.Ap2TeamChannel != 0 && eventSettings.Ap2TeamChannel == eventSettings.ApTeamChannel { web.renderSettings(w, r, "Cannot use same channel for both access points.")