From 14bf8d88ce259503f2efc51a2e59e39f16fed192 Mon Sep 17 00:00:00 2001 From: Thomas Weber Date: Tue, 14 Jul 2020 19:09:39 -0500 Subject: [PATCH] compile pen_setPenHueToNumber --- src/compiler/blocks/compiler_pen.js | 6 ++++++ src/extensions/scratch3_pen/index.js | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/compiler/blocks/compiler_pen.js b/src/compiler/blocks/compiler_pen.js index dee767a6..0d090c3f 100644 --- a/src/compiler/blocks/compiler_pen.js +++ b/src/compiler/blocks/compiler_pen.js @@ -15,6 +15,7 @@ module.exports.getStatements = () => { pen_changePenColorParamBy: changePenColorParamBy, pen_setPenColorParamTo: setPenColorParamTo, // Legacy blocks + pen_setPenHueToNumber: setPenHueToNumber, pen_changePenHueBy: changePenHueBy, pen_setPenShadeToNumber: setPenShade, }; @@ -63,6 +64,11 @@ const changePenSize = /** @param {StatementUtil} util */ (util) => { util.writeLn(`${pen}._changePenSizeBy(${SIZE.asNumber()}, target);`); }; +const setPenHueToNumber = /** @param {StatementUtil} util */ (util) => { + const HUE = util.input('HUE'); + util.writeLn(`${pen}._setPenHueToNumber(${HUE.asNumber()}, target);`); +}; + const changePenHueBy = /** @param {StatementUtil} util */ (util) => { const HUE = util.input('HUE'); util.writeLn(`${pen}._changePenHueBy(${HUE.asNumber()}, target);`); diff --git a/src/extensions/scratch3_pen/index.js b/src/extensions/scratch3_pen/index.js index 0be750ae..ccd314b4 100644 --- a/src/extensions/scratch3_pen/index.js +++ b/src/extensions/scratch3_pen/index.js @@ -698,12 +698,14 @@ class Scratch3PenBlocks { * @param {object} util - utility object provided by the runtime. */ setPenHueToNumber (args, util) { - const penState = this._getPenState(util.target); - const hueValue = Cast.toNumber(args.HUE); + this._setPenHueToNumber(Cast.toNumber(args.HUE), util.target); + } + _setPenHueToNumber (hueValue, target) { + const penState = this._getPenState(target); const colorValue = hueValue / 2; this._setOrChangeColorParam(ColorParam.COLOR, colorValue, penState, false); this._setOrChangeColorParam(ColorParam.TRANSPARENCY, 0, penState, false); - this._legacyUpdatePenColor(penState); + this._legacyUpdatePenColor(penState); } /**