File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -57,19 +57,21 @@ func NewGameController(cfg config.Controller) (c *GameController) {
57
57
// Start starts all go routines
58
58
func (c * GameController ) Start () {
59
59
60
+ if len (c .config .Network .PublishAddress ) > 0 {
61
+ c .messageGenerator .MessageConsumers = append (c .messageGenerator .MessageConsumers , c .publisher .SendMessage )
62
+ }
63
+
60
64
switch c .config .TimeAcquisitionMode {
61
65
case config .TimeAcquisitionModeSystem :
62
- c .messageGenerator .MessageConsumer = c .publisher .SendMessage
63
66
c .visionReceiver .Start ()
64
67
c .trackerReceiver .Start ()
65
68
break
66
69
case config .TimeAcquisitionModeVision :
67
- c .messageGenerator .MessageConsumer = c .publisher .SendMessage
68
70
c .gcEngine .SetTimeProvider (c .visionReceiver .Time )
69
71
c .visionReceiver .Start ()
70
72
c .trackerReceiver .Start ()
71
73
case config .TimeAcquisitionModeCi :
72
- c .messageGenerator .MessageConsumer = c . ciServer .SendMessage
74
+ c .messageGenerator .MessageConsumers = append ( c . messageGenerator . MessageConsumers , c . ciServer .SendMessage )
73
75
c .gcEngine .SetTimeProvider (c .ciServer .Time )
74
76
c .gcEngine .SetTickChanProvider (c .ciServer .TickChanProvider )
75
77
c .ciServer .SetEngine (c .gcEngine )
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ type MessageGenerator struct {
14
14
commandTimestamp uint64
15
15
quit chan int
16
16
gcEngine * engine.Engine
17
- MessageConsumer func (* state.Referee )
17
+ MessageConsumers [] func (* state.Referee )
18
18
EngineHook chan engine.HookOut
19
19
}
20
20
@@ -48,12 +48,16 @@ func (g *MessageGenerator) listen() {
48
48
case hookOut := <- g .EngineHook :
49
49
if hookOut .Change != nil {
50
50
refereeMessages := g .GenerateRefereeMessages (hookOut )
51
- for _ , refereeMsg := range refereeMessages {
52
- g .MessageConsumer (refereeMsg )
51
+ for _ , refMsg := range refereeMessages {
52
+ for _ , consumer := range g .MessageConsumers {
53
+ consumer (refMsg )
54
+ }
53
55
}
54
56
} else if hookOut .State != nil {
55
57
refMsg := g .StateToRefereeMessage (hookOut .State )
56
- g .MessageConsumer (refMsg )
58
+ for _ , consumer := range g .MessageConsumers {
59
+ consumer (refMsg )
60
+ }
57
61
}
58
62
}
59
63
}
You can’t perform that action at this time.
0 commit comments