From c03a1607a2022dc364e53d70eec2d94d7acaca6b Mon Sep 17 00:00:00 2001 From: Juho Teperi Date: Tue, 23 Oct 2012 10:10:03 +0300 Subject: [PATCH] Fuu fix --- bicyclesim.sublime-project | 5 +---- client/main.sim.js | 40 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/bicyclesim.sublime-project b/bicyclesim.sublime-project index d2dd325..497e382 100644 --- a/bicyclesim.sublime-project +++ b/bicyclesim.sublime-project @@ -11,10 +11,7 @@ ".cache", ".meteor" ], - "path": "/home/juho/Source/bicyclesim" - }, - { - "path": "/home/juho/Source/bicyclesim-bundle" + "path": "." } ] } diff --git a/client/main.sim.js b/client/main.sim.js index 6441696..9a1bb4f 100644 --- a/client/main.sim.js +++ b/client/main.sim.js @@ -72,8 +72,48 @@ Template.sim.helpers({ } }); +var sock = new SockJS("http://localhost:9999/speed"); + function init_sim() { + +sock.onopen = function() { + console.log('open'); +}; + +sock.onmessage = function(e) { + if (Session.equals('page', 'sim') && window.point) { + debug('message', e.data); + + var dist = parseInt(e.data, 10) * c(); + speed_buffer.push(dist); + + Session.set('speed', speed_buffer.sum() / 5); + + Session.set('distance', Session.get('distance') + 3 * dist); + window.traveled += 3 * dist; + + if (window.traveled >= window.point.distance) { + var next = Points.findOne({_id: window.point.next}); + + // Stay on current point if no next point exists + if (next) { + window.traveled -= next.distance; + + maps.travel(next._id, {route: true}); + zoom = 1; + zoom_target = 1; + window.point = next; + } + } + } + +}; + +sock.onclose = function() { + console.log('close'); +}; + Meteor.autosubscribe(function () { if (Session.equals('page', 'sim')) { var route = Routes.findOne({_id: Session.get('route')});