@@ -8,10 +8,11 @@ const GdxForConverter = {
8
8
// eslint-disable-next-line no-unused-vars
9
9
onSend : function ( receiver , name , args , rubyBlockArgs , rubyBlock ) {
10
10
let block ;
11
+ console . log ( rubyBlockArgs )
11
12
if ( ( this . _isSelf ( receiver ) || receiver === Opal . nil ) && ! rubyBlock ) {
12
13
switch ( name ) {
13
14
case 'gdx_for_acceleration' :
14
- if ( args . length === 1 ) {
15
+ if ( args . length === 1 && this . _isString ( args [ 0 ] ) ) {
15
16
block = this . _createBlock ( 'gdxfor_getAcceleration' , 'value' ) ;
16
17
this . _addInput (
17
18
block ,
@@ -21,37 +22,52 @@ const GdxForConverter = {
21
22
}
22
23
break ;
23
24
case 'gdx_for_force' :
24
- block = this . _createBlock ( 'gdxfor_getForce' , 'value' ) ;
25
+ if ( args . length === 0 ) {
26
+ block = this . _createBlock ( 'gdxfor_getForce' , 'value' ) ;
27
+ }
25
28
break ;
26
29
case 'gdx_for_tilted?' :
27
- block = this . _createBlock ( 'gdxfor_isTilted' , 'value' ) ;
28
- this . _addInput (
29
- block ,
30
- 'TILT' ,
31
- this . _createFieldBlock ( 'gdxfor_menu_tiltAnyOptions' , 'tiltAnyOptions' , args [ 0 ] )
32
- ) ;
30
+ if ( args . length === 1 && this . _isString ( args [ 0 ] ) ) {
31
+ block = this . _createBlock ( 'gdxfor_isTilted' , 'value' ) ;
32
+ this . _addInput (
33
+ block ,
34
+ 'TILT' ,
35
+ this . _createFieldBlock ( 'gdxfor_menu_tiltAnyOptions' , 'tiltAnyOptions' , args [ 0 ] )
36
+ ) ;
37
+ }
33
38
break ;
34
39
case 'gdx_for_tilt_angle' :
35
- block = this . _createBlock ( 'gdxfor_getTilt' , 'value' ) ;
36
- this . _addInput (
37
- block ,
38
- 'TILT' ,
39
- this . _createFieldBlock ( 'gdxfor_menu_tiltOptions' , 'tiltOptions' , args [ 0 ] )
40
- ) ;
40
+ if ( args . length === 1 && this . _isString ( args [ 0 ] ) ) {
41
+ block = this . _createBlock ( 'gdxfor_getTilt' , 'value' ) ;
42
+ this . _addInput (
43
+ block ,
44
+ 'TILT' ,
45
+ this . _createFieldBlock ( 'gdxfor_menu_tiltOptions' , 'tiltOptions' , args [ 0 ] )
46
+ ) ;
47
+ }
41
48
break ;
42
49
case 'gdx_for_falling?' :
43
- block = this . _createBlock ( 'gdxfor_isFreeFalling' , 'value' ) ;
50
+ if ( args . length === 0 ) {
51
+ block = this . _createBlock ( 'gdxfor_isFreeFalling' , 'value' ) ;
52
+ }
44
53
break ;
45
54
case 'gdx_for_spin_speed' :
46
- block = this . _createBlock ( 'gdxfor_getSpinSpeed' , 'value' ) ;
47
- this . _addInput (
48
- block ,
49
- 'DIRECTION' ,
50
- this . _createFieldBlock ( 'gdxfor_menu_axisOptions' , 'axisOptions' , args [ 0 ] )
51
- ) ;
55
+ if ( args . length === 1 && this . _isString ( args [ 0 ] ) ) {
56
+ block = this . _createBlock ( 'gdxfor_getSpinSpeed' , 'value' ) ;
57
+ this . _addInput (
58
+ block ,
59
+ 'DIRECTION' ,
60
+ this . _createFieldBlock ( 'gdxfor_menu_axisOptions' , 'axisOptions' , args [ 0 ] )
61
+ ) ;
62
+ }
52
63
break ;
53
64
}
54
- } else {
65
+ } else if ( ( this . _isSelf ( receiver ) || receiver === Opal . nil ) &&
66
+ name === 'when' &&
67
+ args . length === 2 && args [ 0 ] . type === "sym" &&
68
+ this . _isString ( args [ 1 ] ) &&
69
+ rubyBlockArgs && rubyBlockArgs . length === 0 &&
70
+ rubyBlock ) {
55
71
switch ( args [ 0 ] . value ) {
56
72
case 'gdx_for_gesture' :
57
73
block = this . _createBlock ( 'gdxfor_whenGesture' , 'hat' ) ;
0 commit comments