mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 21:56:50 -04:00
Made foul addition and deletion trigger realtime score update.
This commit is contained in:
4
arena.go
4
arena.go
@@ -432,8 +432,8 @@ func (arena *Arena) sendDsPacket(auto bool, enabled bool) {
|
||||
arena.lastDsPacketTime = time.Now()
|
||||
}
|
||||
|
||||
func (realtimeScore *RealtimeScore) Score() int {
|
||||
score := scoreSummary(&realtimeScore.CurrentScore, []Foul{}).Score
|
||||
func (realtimeScore *RealtimeScore) Score(opponentFouls []Foul) int {
|
||||
score := scoreSummary(&realtimeScore.CurrentScore, opponentFouls).Score
|
||||
if realtimeScore.CurrentCycle.Truss {
|
||||
score += 10
|
||||
if realtimeScore.CurrentCycle.Catch {
|
||||
|
||||
20
displays.go
20
displays.go
@@ -92,8 +92,10 @@ func AudienceDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
RedCycle Cycle
|
||||
BlueScore int
|
||||
BlueCycle Cycle
|
||||
}{mainArena.redRealtimeScore.Score(), mainArena.redRealtimeScore.CurrentCycle,
|
||||
mainArena.blueRealtimeScore.Score(), mainArena.blueRealtimeScore.CurrentCycle}
|
||||
}{mainArena.redRealtimeScore.Score(mainArena.blueRealtimeScore.Fouls),
|
||||
mainArena.redRealtimeScore.CurrentCycle,
|
||||
mainArena.blueRealtimeScore.Score(mainArena.redRealtimeScore.Fouls),
|
||||
mainArena.blueRealtimeScore.CurrentCycle}
|
||||
err = websocket.Write("realtimeScore", data)
|
||||
if err != nil {
|
||||
log.Printf("Websocket error: %s", err)
|
||||
@@ -149,8 +151,10 @@ func AudienceDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
RedCycle Cycle
|
||||
BlueScore int
|
||||
BlueCycle Cycle
|
||||
}{mainArena.redRealtimeScore.Score(), mainArena.redRealtimeScore.CurrentCycle,
|
||||
mainArena.blueRealtimeScore.Score(), mainArena.blueRealtimeScore.CurrentCycle}
|
||||
}{mainArena.redRealtimeScore.Score(mainArena.blueRealtimeScore.Fouls),
|
||||
mainArena.redRealtimeScore.CurrentCycle,
|
||||
mainArena.blueRealtimeScore.Score(mainArena.redRealtimeScore.Fouls),
|
||||
mainArena.blueRealtimeScore.CurrentCycle}
|
||||
case _, ok := <-scorePostedListener:
|
||||
if !ok {
|
||||
return
|
||||
@@ -280,7 +284,8 @@ func AnnouncerDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
data = struct {
|
||||
RedScore int
|
||||
BlueScore int
|
||||
}{mainArena.redRealtimeScore.Score(), mainArena.blueRealtimeScore.Score()}
|
||||
}{mainArena.redRealtimeScore.Score(mainArena.blueRealtimeScore.Fouls),
|
||||
mainArena.blueRealtimeScore.Score(mainArena.redRealtimeScore.Fouls)}
|
||||
err = websocket.Write("realtimeScore", data)
|
||||
if err != nil {
|
||||
log.Printf("Websocket error: %s", err)
|
||||
@@ -325,7 +330,8 @@ func AnnouncerDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
message = struct {
|
||||
RedScore int
|
||||
BlueScore int
|
||||
}{mainArena.redRealtimeScore.Score(), mainArena.blueRealtimeScore.Score()}
|
||||
}{mainArena.redRealtimeScore.Score(mainArena.blueRealtimeScore.Fouls),
|
||||
mainArena.blueRealtimeScore.Score(mainArena.redRealtimeScore.Fouls)}
|
||||
case _, ok := <-scorePostedListener:
|
||||
if !ok {
|
||||
return
|
||||
@@ -708,6 +714,7 @@ func RefereeDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
} else {
|
||||
mainArena.blueRealtimeScore.Fouls = append(mainArena.blueRealtimeScore.Fouls, foul)
|
||||
}
|
||||
mainArena.realtimeScoreNotifier.Notify(nil)
|
||||
case "deleteFoul":
|
||||
args := struct {
|
||||
Alliance string
|
||||
@@ -737,6 +744,7 @@ func RefereeDisplayWebsocketHandler(w http.ResponseWriter, r *http.Request) {
|
||||
break
|
||||
}
|
||||
}
|
||||
mainArena.realtimeScoreNotifier.Notify(nil)
|
||||
case "commitMatch":
|
||||
mainArena.redRealtimeScore.FoulsCommitted = true
|
||||
mainArena.blueRealtimeScore.FoulsCommitted = true
|
||||
|
||||
Reference in New Issue
Block a user