From 6b25b55cb7c99013fb253d1ef0da2c8624b1c9bc Mon Sep 17 00:00:00 2001 From: Patrick Fairbank Date: Thu, 4 Sep 2014 22:50:29 -0700 Subject: [PATCH] Made the in-match alliance display stick around for a few seconds post-match. --- arena.go | 8 +++++++- displays.go | 1 + static/css/alliance_station_display.css | 9 ++++++--- static/js/alliance_station_display.js | 3 ++- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/arena.go b/arena.go index 01fec2c..39d0b6b 100644 --- a/arena.go +++ b/arena.go @@ -142,7 +142,7 @@ func (arena *Arena) Setup() { arena.savedMatch = &Match{} arena.savedMatchResult = &MatchResult{} arena.allianceStationDisplays = make(map[string]string) - arena.allianceStationDisplayScreen = "blank" + arena.allianceStationDisplayScreen = "match" arena.lights.Setup() } @@ -230,6 +230,10 @@ func (arena *Arena) LoadMatch(match *Match) error { arena.matchLoadTeamsNotifier.Notify(nil) arena.realtimeScoreNotifier.Notify(nil) + + arena.allianceStationDisplayScreen = "match" + arena.allianceStationDisplayNotifier.Notify(nil) + return nil } @@ -461,6 +465,8 @@ func (arena *Arena) Update() { time.Sleep(time.Second * matchEndScoreDwellSec) arena.audienceDisplayScreen = "blank" arena.audienceDisplayNotifier.Notify(nil) + arena.allianceStationDisplayScreen = "logo" + arena.allianceStationDisplayNotifier.Notify(nil) }() arena.playSoundNotifier.Notify("match-end") } diff --git a/displays.go b/displays.go index 69e625e..73ef62b 100644 --- a/displays.go +++ b/displays.go @@ -1028,6 +1028,7 @@ func AllianceStationDisplayWebsocketHandler(w http.ResponseWriter, r *http.Reque if !ok { return } + websocket.Write("matchTime", MatchTimeMessage{mainArena.MatchState, int(mainArena.lastMatchTimeSec)}) messageType = "setAllianceStationDisplay" message = mainArena.allianceStationDisplayScreen case _, ok := <-matchLoadTeamsListener: diff --git a/static/css/alliance_station_display.css b/static/css/alliance_station_display.css index d2c7d83..d879a9d 100644 --- a/static/css/alliance_station_display.css +++ b/static/css/alliance_station_display.css @@ -60,17 +60,20 @@ body[data-mode=match] .mode#match { width: 100%; height: 100%; } -#match[data-state=AUTO_PERIOD], #match[data-state=PAUSE_PERIOD], #match[data-state=TELEOP_PERIOD], #match[data-state=ENDGAME_PERIOD] { +#match[data-state=AUTO_PERIOD], #match[data-state=PAUSE_PERIOD], #match[data-state=TELEOP_PERIOD], + #match[data-state=ENDGAME_PERIOD], #match[data-state=POST_MATCH] { background-color: #fff; color: #000; } #preMatch, #inMatch { display: none; } -#match[data-state=PRE_MATCH] #preMatch, #match[data-state=POST_MATCH] #preMatch { +#match[data-state=PRE_MATCH] #preMatch { display: block; } -#match[data-state=AUTO_PERIOD] #inMatch, #match[data-state=PAUSE_PERIOD] #inMatch, #match[data-state=TELEOP_PERIOD] #inMatch, #match[data-state=ENDGAME_PERIOD] #inMatch { +#match[data-state=AUTO_PERIOD] #inMatch, #match[data-state=PAUSE_PERIOD] #inMatch, + #match[data-state=TELEOP_PERIOD] #inMatch, #match[data-state=ENDGAME_PERIOD] #inMatch, + #match[data-state=POST_MATCH] #inMatch { display: block; } diff --git a/static/js/alliance_station_display.js b/static/js/alliance_station_display.js index b46b025..2a55951 100644 --- a/static/js/alliance_station_display.js +++ b/static/js/alliance_station_display.js @@ -97,7 +97,8 @@ var handleRealtimeScore = function(data) { }; var handleHotGoalLight = function(side) { - if (allianceStation != "" && (side == "left" && allianceStation[1] == "3" || side == "right" && allianceStation[1] == "1")) { + if (allianceStation != "" && (side == "left" && allianceStation[1] == "3" || + side == "right" && allianceStation[1] == "1")) { $("#match").attr("data-hotgoal", "active"); } else { $("#match").attr("data-hotgoal", "");