HMR for blockly blocks

This commit is contained in:
azykov@mail.ru
2026-06-13 15:29:55 +03:00
parent 1ed3203ec5
commit a61b5f0105
36 changed files with 533 additions and 463 deletions
+24 -25
View File
@@ -1,29 +1,28 @@
import * as Blockly from "blockly";
import { javascriptGenerator, Order } from "blockly/javascript";
import { Order } from "blockly/javascript";
import type { BlockDef } from "../toolbox";
Blockly.Blocks['dpos_value'] = {
init(this: Blockly.Block) {
this.appendDummyInput()
.appendField('Direction [')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'X')
.appendField(',')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Y')
.appendField(',')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Z');
this.appendDummyInput()
.appendField(']');
this.setInputsInline(true);
this.setOutput(true, 'DPos');
this.setTooltip('Direction [dx,dy,dz]');
this.setColour(315);
export const dposValue: BlockDef = {
category: 'Values',
block: {
init(this: Blockly.Block) {
this.appendDummyInput()
.appendField('Direction [')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'X')
.appendField(',')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Y')
.appendField(',')
.appendField(new Blockly.FieldNumber(0, -Infinity, Infinity, 0.01), 'Z');
this.appendDummyInput().appendField(']');
this.setInputsInline(true);
this.setOutput(true, 'DPos');
this.setTooltip('Direction [dx,dy,dz]');
}
},
code(block, _generator) {
const x = block.getFieldValue('X');
const y = block.getFieldValue('Y');
const z = block.getFieldValue('Z');
return [`[${x},${y},${z}]`, Order.ATOMIC];
}
};
javascriptGenerator.forBlock['dpos_value'] = function (block, _generator) {
const xValue = block.getFieldValue('X');
const yValue = block.getFieldValue('Y');
const zValue = block.getFieldValue('Z');
return [`[${xValue},${yValue},${zValue}]`, Order.ATOMIC];
};
export { };