mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 13:46:44 -04:00
Make Stage 1-3 capacity configurable in settings.
This commit is contained in:
@@ -31,7 +31,9 @@ CREATE TABLE event_settings (
|
|||||||
pausedurationsec int,
|
pausedurationsec int,
|
||||||
teleopdurationsec int,
|
teleopdurationsec int,
|
||||||
warningremainingdurationsec int,
|
warningremainingdurationsec int,
|
||||||
habdockingthreshold int
|
stage1capacity int,
|
||||||
|
stage2capacity int,
|
||||||
|
stage3capacity int
|
||||||
);
|
);
|
||||||
|
|
||||||
-- +goose Down
|
-- +goose Down
|
||||||
|
|||||||
@@ -158,8 +158,9 @@ func (arena *Arena) LoadSettings() error {
|
|||||||
game.UpdateMatchSounds()
|
game.UpdateMatchSounds()
|
||||||
arena.MatchTimingNotifier.Notify()
|
arena.MatchTimingNotifier.Notify()
|
||||||
|
|
||||||
// TODO(pat): Customize 2020 scoring settings here.
|
game.StageCapacities[game.Stage1] = settings.Stage1Capacity
|
||||||
//game.HabDockingThreshold = settings.HabDockingThreshold
|
game.StageCapacities[game.Stage2] = settings.Stage2Capacity
|
||||||
|
game.StageCapacities[game.Stage3] = settings.Stage3Capacity
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,9 @@ type EventSettings struct {
|
|||||||
PauseDurationSec int
|
PauseDurationSec int
|
||||||
TeleopDurationSec int
|
TeleopDurationSec int
|
||||||
WarningRemainingDurationSec int
|
WarningRemainingDurationSec int
|
||||||
HabDockingThreshold int
|
Stage1Capacity int
|
||||||
|
Stage2Capacity int
|
||||||
|
Stage3Capacity int
|
||||||
}
|
}
|
||||||
|
|
||||||
const eventSettingsId = 0
|
const eventSettingsId = 0
|
||||||
@@ -62,7 +64,9 @@ func (database *Database) GetEventSettings() (*EventSettings, error) {
|
|||||||
eventSettings.PauseDurationSec = game.MatchTiming.PauseDurationSec
|
eventSettings.PauseDurationSec = game.MatchTiming.PauseDurationSec
|
||||||
eventSettings.TeleopDurationSec = game.MatchTiming.TeleopDurationSec
|
eventSettings.TeleopDurationSec = game.MatchTiming.TeleopDurationSec
|
||||||
eventSettings.WarningRemainingDurationSec = game.MatchTiming.WarningRemainingDurationSec
|
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)
|
err = database.eventSettingsMap.Insert(eventSettings)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ func TestEventSettingsReadWrite(t *testing.T) {
|
|||||||
assert.Equal(t, EventSettings{Id: 0, Name: "Untitled Event", NumElimAlliances: 8, SelectionRound2Order: "L",
|
assert.Equal(t, EventSettings{Id: 0, Name: "Untitled Event", NumElimAlliances: 8, SelectionRound2Order: "L",
|
||||||
SelectionRound3Order: "", TBADownloadEnabled: true, ApTeamChannel: 157, ApAdminChannel: 0,
|
SelectionRound3Order: "", TBADownloadEnabled: true, ApTeamChannel: 157, ApAdminChannel: 0,
|
||||||
ApAdminWpaKey: "1234Five", WarmupDurationSec: 0, AutoDurationSec: 15, PauseDurationSec: 2,
|
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.Name = "Chezy Champs"
|
||||||
eventSettings.NumElimAlliances = 6
|
eventSettings.NumElimAlliances = 6
|
||||||
|
|||||||
@@ -243,12 +243,6 @@
|
|||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Game-Specific</legend>
|
<legend>Game-Specific</legend>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-lg-5 control-label">Hab Docking RP Threshold</label>
|
|
||||||
<div class="col-lg-7">
|
|
||||||
<input type="text" class="form-control" name="habDockingThreshold" value="{{.HabDockingThreshold}}">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-lg-5 control-label">Autonomous Period Duration (seconds)</label>
|
<label class="col-lg-5 control-label">Autonomous Period Duration (seconds)</label>
|
||||||
<div class="col-lg-7">
|
<div class="col-lg-7">
|
||||||
@@ -274,6 +268,24 @@
|
|||||||
value="{{.WarningRemainingDurationSec}}">
|
value="{{.WarningRemainingDurationSec}}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-lg-5 control-label">Stage 1 Capacity</label>
|
||||||
|
<div class="col-lg-7">
|
||||||
|
<input type="text" class="form-control" name="stage1Capacity" value="{{.Stage1Capacity}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-lg-5 control-label">Stage 2 Capacity</label>
|
||||||
|
<div class="col-lg-7">
|
||||||
|
<input type="text" class="form-control" name="stage2Capacity" value="{{.Stage2Capacity}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-lg-5 control-label">Stage 3 Capacity</label>
|
||||||
|
<div class="col-lg-7">
|
||||||
|
<input type="text" class="form-control" name="stage3Capacity" value="{{.Stage3Capacity}}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-7 col-lg-offset-5">
|
<div class="col-lg-7 col-lg-offset-5">
|
||||||
|
|||||||
@@ -75,7 +75,9 @@ func (web *Web) settingsPostHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
eventSettings.PauseDurationSec, _ = strconv.Atoi(r.PostFormValue("pauseDurationSec"))
|
eventSettings.PauseDurationSec, _ = strconv.Atoi(r.PostFormValue("pauseDurationSec"))
|
||||||
eventSettings.TeleopDurationSec, _ = strconv.Atoi(r.PostFormValue("teleopDurationSec"))
|
eventSettings.TeleopDurationSec, _ = strconv.Atoi(r.PostFormValue("teleopDurationSec"))
|
||||||
eventSettings.WarningRemainingDurationSec, _ = strconv.Atoi(r.PostFormValue("warningRemainingDurationSec"))
|
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 {
|
if eventSettings.Ap2TeamChannel != 0 && eventSettings.Ap2TeamChannel == eventSettings.ApTeamChannel {
|
||||||
web.renderSettings(w, r, "Cannot use same channel for both access points.")
|
web.renderSettings(w, r, "Cannot use same channel for both access points.")
|
||||||
|
|||||||
Reference in New Issue
Block a user