aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/jarvis.js27
1 files changed, 2 insertions, 25 deletions
diff --git a/examples/jarvis.js b/examples/jarvis.js
index 2c39385..a8373ce 100644
--- a/examples/jarvis.js
+++ b/examples/jarvis.js
@@ -9,11 +9,12 @@ const comb = require('../utils/comb');
const Search = require('../tools/search');
const sched = require('../tools/schedule');
const ri = require('../utils/rectintersect');
+const id = require('../utils/ident');
//// Basic handling on open and close of the socket
var main = new Socket();
-main.on('open', open);
+id(main, initOnce, init);
main.on('close', deinit);
//// tileUpdates require knowledge of the prog's identity (sender)
@@ -37,30 +38,6 @@ function initOnce(){
var funcs = [protectArea, detectPrompt];
//// Management utilities
-// "Pings" the server with a cursor location which is then detected
-function open(){
- console.log('socket opened');
- let coords = [Math.floor(Math.random()*100000+16),Math.floor(Math.random()*100000+16)];
- main.cursor(coords);
- main.on('cursor', detect);
- function detect(pos, send){
- if (vec.equals(pos[0],coords)){
- main.off('cursor', detect);
- identity(send);
- }
- }
-}
-
-// identity records the identity discovered from the cursor and calls configurable init and initOnce functions
-var initialized = false; //"Initialize once" strategy
-function identity(send){
- console.log('identity activated');
- if (! initialized){
- initialized = true;
- initOnce();
- }
- init(send);
-}
// When a tile changes, processes data into usable form and runs every function in `funcs` w/ that data.
// Note that functions can edit inputs