22 lines
727 B
TypeScript
22 lines
727 B
TypeScript
import * as Blockly from "blockly";
|
|
import { javascriptGenerator, Order } from "blockly/javascript";
|
|
|
|
Blockly.Blocks['object_by_id_value'] = {
|
|
init(this: Blockly.Block) {
|
|
this.appendEndRowInput()
|
|
.appendField('Object with id')
|
|
.appendField(new Blockly.FieldTextInput(''), 'TARGET_ID');
|
|
this.setInputsInline(false);
|
|
this.setOutput(true, 'Object');
|
|
this.setTooltip('Returns object by id, if any');
|
|
this.setColour(315);
|
|
}
|
|
};
|
|
|
|
javascriptGenerator.forBlock['object_by_id_value'] = function (block, _generator) {
|
|
const targetIdValue = block.getFieldValue('TARGET_ID');
|
|
return [`context.scene.objects['${targetIdValue}']`, Order.ATOMIC];
|
|
};
|
|
|
|
export { };
|