diff options
| -rw-r--r-- | ShowRunner.py | 4 | ||||
| -rw-r--r-- | fish_show.py | 6 | ||||
| -rw-r--r-- | webapp/app/templates/index.html | 28 | ||||
| -rw-r--r-- | webapp/app/views.py | 25 |
4 files changed, 38 insertions, 25 deletions
diff --git a/ShowRunner.py b/ShowRunner.py index 61c0cf6..58d325e 100644 --- a/ShowRunner.py +++ b/ShowRunner.py @@ -11,6 +11,10 @@ from run import server_thread, send_queue, recv_queue def run_show(): server_thread.start() bridge = Bridge() + + print "Press enter to begin show" + x = raw_input() + TwinkleShow(bridge, send_queue=recv_queue, recv_queue=send_queue).run(framerate=FRAME_RATE) SunriseShow(bridge, send_queue=recv_queue, recv_queue=send_queue).run(framerate=FRAME_RATE) FishShow(bridge, send_queue=recv_queue, recv_queue=send_queue).run(framerate=FRAME_RATE) diff --git a/fish_show.py b/fish_show.py index 7af4c0b..5d97e9f 100644 --- a/fish_show.py +++ b/fish_show.py @@ -183,11 +183,11 @@ class FishShow(Show): self.send_event('disable image', {'name': 'whale'}) self.send_event('disable image', {'name': 'shark'}) self.send_event('enable image', {'name': 'eel'}) + else: + self.send_event('disable image', {'name': 'stingray'}) + self.send_event('disable image', {'name': 'eel'}) else: - self.send_event('disable image', {'name': 'stingray'}) - self.send_event('disable image', {'name': 'eel'}) - fade_time = 5 # sec if self.started_fade_tick is None: self.started_fade_tick = self.tick_count diff --git a/webapp/app/templates/index.html b/webapp/app/templates/index.html index 7c09f50..bba0579 100644 --- a/webapp/app/templates/index.html +++ b/webapp/app/templates/index.html @@ -125,21 +125,16 @@ c.render($('#creatures')); }); - socket.on('enable image', function(msg) { - console.log('enable image'); - // to be tested - var name = msg.name; - var myImgElement = $("#" + name); - myImgElement.removeClass('img-disable'); - - }); - - socket.on('disable image', function(msg) { - console.log('disable image'); - // to be tested - var name = msg.name; - var myImgElement = $("#" + name); - myImgElement.addClass('img-disable'); + socket.on('fish state', function(msg) { + for( var key in msg ) { + var myImgElement = $("#" + key); + if( msg[key] ) { + myImgElement.removeClass('img-disable'); + } else { + myImgElement.addClass('img-disable'); + } + } + }); socket.on('disconnect', function() { @@ -147,6 +142,9 @@ }); socket.emit('ready'); + setInterval(function() { + socket.emit('ready'); + }, 5000); }); function clickImg(element) { diff --git a/webapp/app/views.py b/webapp/app/views.py index b03f6ab..a13bf12 100644 --- a/webapp/app/views.py +++ b/webapp/app/views.py @@ -28,23 +28,34 @@ def message(sid, data): @sio.on('ready', namespace='/spawn') def ready(sid): - print("got ready message from ", sid) - for event in received_events: - print "sending missed event", event - sio.emit(event[0], event[1], room=sid, namespace='/spawn') + sio.emit('fish state', fish_state, room=sid, namespace='/spawn') @sio.on('disconnect', namespace='/spawn') def disconnect(sid): print('disconnect', sid) connections.remove(sid) +fish_state = { + 'jellyfish': 0, + 'dolphin': 0, + 'boat': 0, + 'nemo': 0, + 'dory': 0, + 'whale': 0, + 'eel': 0, + 'stingray': 0, + 'shark': 0 +} -received_events = [] def recv_events(): while True: event = recv_queue.get() - sio.emit(event[0], event[1], namespace='/spawn') - received_events.append(event) + if event[0] == 'enable image': + fish_state[event[1]['name']] = 1 + elif event[0] == 'disable image': + fish_state[event[1]['name']] = 0 + + sio.emit('fish state', fish_state, namespace='/spawn') thread = sio.start_background_task(recv_events) |
