mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 21:56:50 -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,
|
||||
teleopdurationsec int,
|
||||
warningremainingdurationsec int,
|
||||
habdockingthreshold int
|
||||
stage1capacity int,
|
||||
stage2capacity int,
|
||||
stage3capacity int
|
||||
);
|
||||
|
||||
-- +goose Down
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -243,12 +243,6 @@
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<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">
|
||||
<label class="col-lg-5 control-label">Autonomous Period Duration (seconds)</label>
|
||||
<div class="col-lg-7">
|
||||
@@ -274,6 +268,24 @@
|
||||
value="{{.WarningRemainingDurationSec}}">
|
||||
</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>
|
||||
<div class="form-group">
|
||||
<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.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.")
|
||||
|
||||
Reference in New Issue
Block a user