ccIDE/peripherals/test/generator.js
2024-06-30 13:02:14 +07:00

36 lines
1.0 KiB
JavaScript

const { luaGenerator } = require('blockly/lua');
// Check if luaGenerator.forBlock is defined and initialize if necessary-
if (!luaGenerator.forBlock) {
luaGenerator.forBlock = {};
}
// Define your custom block handler
luaGenerator.forBlock['custom_math_operation'] = function(block, generator) {
var operator = block.getFieldValue('OPERATOR');
var num1 = generator.valueToCode(block, 'NUM1', generator.ORDER_ATOMIC);
var num2 = generator.valueToCode(block, 'NUM2', generator.ORDER_ATOMIC);
var operatorSymbol = '';
switch (operator) {
case 'ADD':
operatorSymbol = '+';
break;
case 'SUBTRACT':
operatorSymbol = '-';
break;
case 'MULTIPLY':
operatorSymbol = '*';
break;
case 'DIVIDE':
operatorSymbol = '/';
break;
default:
operatorSymbol = '+';
break;
}
var code = `${num1} ${operatorSymbol} ${num2}`;
return [code, generator.ORDER_ATOMIC];
};