Commit 0076438f authored by Roque's avatar Roque

erp5_drone_simulator: get rid of rescue swarm dependency

- use a JSON dict as game parameters (instead of RS maps)
parent 2e3234f9
......@@ -11,7 +11,95 @@ var runGame, updateGame, eventGame, game_manager_instance;
"use strict";
console.log('game logic');
runGame = function (canvas, script, game_parameters_json, log) {
runGame = function (canvas, script, log) {
var game_parameters_json = {
"distances": {
"communication": 99999,
"control": 1500,
"information": 5
},
"drone": {
"maxAcceleration": 1,
"maxSpeed": 16.666667,
"collisionSector": 0.25,
"broadcastingTime": 1000,
"viewAngle": 60
},
"meteo": 0.5,
"derive": {
"speed": 0.1,
"direction": {
"x": 1,
"y": 0.5
}
},
"gameTime": 1800,
"goalDiameter": 7,
"goalPositionLeftTeam": {
"x": 0,
"y": 0,
"z": 0.6
},
"goalPositionRightTeam": {
"x": 0,
"y": 0,
"z": 0.6
},
"latency": {
"information": 0,
"communication": 0
},
"mapSize": {
"depth": 1000,
"height": 100,
"width": 1000
},
"obstacles": [],
"initialHumanAreaPosition": {
"x": -400,
"y": 400,
"z": 0
},
"randomSpawn": {
"leftTeam": {
"position": {
"x": 0,
"y": 0,
"z": 20
},
"dispertion": {
"x": 8,
"y": 8,
"z": 6
},
"types": [
"DroneAaileFixeAPI",
"DroneLogAPI",
"DroneAPI"
]
},
"rightTeam": {
"position": {
"x": -400,
"y": 400,
"z": 0
},
"dispertion": {
"x": 100,
"y": 100,
"z": 0.1
}
}
},
"teamSize": 2,
"dronesPosition": {
"x": 0,
"y": 0,
"z": 20
},
"droneList": ["DroneAaileFixeAPI", "DroneLogAPI"]
};
function processLog(game_parameters_json, log) {
var MAP_SIZE = 1000,
......@@ -196,9 +284,6 @@ var runGame, updateGame, eventGame, game_manager_instance;
};
game_parameters_json.drone.maxSpeed = (flight_dist / flight_time) * SPEED_FACTOR;
game_parameters_json.flight_path_point_list = path_point_list;
/*game_parameters_json.randomSpawn.leftTeam.position.x = start_position[0];
game_parameters_json.randomSpawn.leftTeam.position.y = start_position[1];
game_parameters_json.randomSpawn.leftTeam.position.z = start_position[2];*/
game_parameters_json.dronesPosition.x = start_position[0];
game_parameters_json.dronesPosition.y = start_position[1];
game_parameters_json.dronesPosition.z = start_position[2];
......@@ -214,7 +299,9 @@ var runGame, updateGame, eventGame, game_manager_instance;
game_parameters_json.randomSpawn.rightTeam.position.y = destination[1];
return game_parameters_json;
}
game_parameters_json = processLog(game_parameters_json, log);
if (!game_manager_instance) {
game_manager_instance = new GameManager(canvas, script,
game_parameters_json, 5);
......
......@@ -244,7 +244,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1003.17407.48631.50875</string> </value>
<value> <string>1003.18677.8071.57617</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1664386550.2</float>
<float>1664462737.31</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -148,7 +148,6 @@
width: options.width,
height: options.height,
script: options.script,
game_parameters_json: options.game_parameters_json,
log: options.log
}, [options.canvas]);
break;
......@@ -291,7 +290,7 @@
offscreen = canvas.transferControlToOffscreen();
//TODO this should be in game logic BUT gadget can't be accessed from WW
var script_content, game_parameters_json, log_content;
var script_content, log_content;
return new RSVP.Queue()
.push(function () {
var query = '(portal_type:"Web Script") AND (reference:"loiter_flight_script")';
......@@ -299,10 +298,6 @@
})
.push(function (result) {
script_content = result.data.rows[0].value.text_content;
return gadget.jio_get("rescue_swarm_map_module/" + "compare_map");
})
.push(function (parameters_doc) {
game_parameters_json = JSON.parse(parameters_doc.text_content);
var query = '(portal_type:"Web Manifest") AND (reference:"loiter_flight_log")';
return gadget.jio_allDocs({query: query, select_list: ["text_content"]});
})
......@@ -316,7 +311,6 @@
width: canvas.width,
height: canvas.height,
script: script_content,
game_parameters_json: game_parameters_json,
log: log_content
});
......
......@@ -244,7 +244,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1003.18668.38123.54476</string> </value>
<value> <string>1003.18672.40791.39372</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1664462231.88</float>
<float>1664462734.74</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -35,8 +35,7 @@ function mainToWorker(evt) {
return new RSVP.Queue()
.push(function () {
postMessage({'type': 'started'});
return runGame(offscreen_canvas, evt.data.script,
evt.data.game_parameters_json, evt.data.log);
return runGame(offscreen_canvas, evt.data.script, evt.data.log);
})
.push(function (result) {
return postMessage({'type': 'finished', 'result': result});
......
......@@ -244,7 +244,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>1003.16068.56422.56064</string> </value>
<value> <string>1003.18677.12846.47872</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -262,7 +262,7 @@
</tuple>
<state>
<tuple>
<float>1664386491.83</float>
<float>1664462736.14</float>
<string>UTC</string>
</tuple>
</state>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment