Skip to content

Commit bc27e91

Browse files
committed
ruby-to-blocks-converterにwedo2を追加
1 parent 81ff4f1 commit bc27e91

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/lib/ruby-to-blocks-converter/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import SensingConverter from './sensing';
1717
import OperatorsConverter from './operators';
1818
import VariablesConverter from './variables';
1919
import MyBlocksConverter from './my-blocks';
20+
import Wedo2Converter from './wedo2';
2021

2122
/**
2223
* Class for a block converter that translates ruby code into the blocks.
@@ -33,7 +34,8 @@ class RubyToBlocksConverter {
3334
SensingConverter,
3435
OperatorsConverter,
3536
VariablesConverter,
36-
MyBlocksConverter
37+
MyBlocksConverter,
38+
Wedo2Converter
3739
];
3840
this.reset();
3941
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* global Opal */
2+
import _ from 'lodash';
3+
4+
const RotationStyle = [
5+
'left-right',
6+
'don\'t rotate',
7+
'all around'
8+
];
9+
10+
/**
11+
* Wedo2 converter
12+
*/
13+
const Wedo2Converter = {
14+
// eslint-disable-next-line no-unused-vars
15+
onSend: function (receiver, name, args, rubyBlockArgs, rubyBlock) {
16+
let block;
17+
if ((this._isSelf(receiver) || receiver === Opal.nil) && !rubyBlock) {
18+
switch (name) {
19+
case 'wedo2_set_light_color':
20+
if (args.length === 1 && this._isNumberOrBlock(args[0])) {
21+
block = this._createBlock('wedo2_setLightHue', 'statement');
22+
this._addNumberInput(block, 'HUE', 'math_number', args[0], 50);
23+
}
24+
break;
25+
}
26+
}
27+
return block;
28+
}
29+
};
30+
31+
export default Wedo2Converter;

0 commit comments

Comments
 (0)