-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjavascript.js
More file actions
32 lines (27 loc) · 1.59 KB
/
javascript.js
File metadata and controls
32 lines (27 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//
Blockly.JavaScript['aframe_new'] = function(block) {
var code = 'getAFrame("demo-area-01-show")';
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
};
// https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#jtbv8b
Blockly.JavaScript['entity_new'] = function(block) {
var dropdown_entitytype = block.getFieldValue('entityType');
var code = 'getEntity("' + dropdown_entitytype + '",{ color: "#EF2D5E" }, { x: 0, y: 0, z: 0 }, { x: 1, y: 1, z: 1 })';
return [code, Blockly.JavaScript.ORDER_FUNCTION_CALL];
};
Blockly.JavaScript['aframe_add'] = function(block) {
var variable_aframe = Blockly.JavaScript.variableDB_.getName(block.getFieldValue('aframe'), Blockly.Variables.NAME_TYPE);
var value_name = Blockly.JavaScript.valueToCode(block, 'entity', Blockly.JavaScript.ORDER_ATOMIC);
// aframe.addEntity(entity)
var code = variable_aframe + '.addEntity(' + value_name + ');\n';
return code;
};
// https://blockly-demo.appspot.com/static/demos/blockfactory/index.html#j9fabj
Blockly.JavaScript['entity_pos'] = function(block) {
var variable_entity = Blockly.JavaScript.variableDB_.getName(block.getFieldValue('entity'), Blockly.Variables.NAME_TYPE);
var value_px = Blockly.JavaScript.valueToCode(block, 'px', Blockly.JavaScript.ORDER_ATOMIC);
var value_py = Blockly.JavaScript.valueToCode(block, 'py', Blockly.JavaScript.ORDER_ATOMIC);
var value_pz = Blockly.JavaScript.valueToCode(block, 'pz', Blockly.JavaScript.ORDER_ATOMIC);
var code = variable_entity + '.pos(' + value_px + ',' + value_py + ',' + value_pz + ');\n';
return code;
};