2017-12-12 21:28:27 +00:00
|
|
|
Facilino.LANG_COLOUR_MOVEMENT = '#CECE42';
|
|
|
|
Facilino.LANG_COLOUR_MOVEMENT_WALK = '#8D8D25';
|
|
|
|
|
|
|
|
Blockly.Blocks['HIPPIE_init'] = {
|
|
|
|
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
|
|
|
|
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
|
|
|
|
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
|
|
|
|
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
|
|
|
|
helpUrl: Facilino.getHelpUrl('HIPPIE_init'),
|
|
|
|
tags: [],
|
|
|
|
examples: [],
|
|
|
|
init: function () {
|
|
|
|
this.appendDummyInput('').appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_ROBOT'));
|
|
|
|
this.appendValueInput('YR').appendField(new Blockly.FieldImage('img/blocks/hippie_YR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this.appendValueInput('YL').appendField(new Blockly.FieldImage('img/blocks/hippie_YL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this.appendValueInput('RR').appendField(new Blockly.FieldImage('img/blocks/hippie_RR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this.appendValueInput('RL').appendField(new Blockly.FieldImage('img/blocks/hippie_RL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this.setPreviousStatement(true,'code');
|
|
|
|
this.setNextStatement(true,'code');
|
|
|
|
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
|
|
|
|
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_INIT_TOOLTIP'));
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
Blockly.Arduino['HIPPIE_init'] = function(block) {
|
|
|
|
var code='';
|
|
|
|
var input_YR = Blockly.Arduino.valueToCode(this,'YR',Blockly.Arduino.ORDER_ATOMIC) || '26';
|
|
|
|
var input_YL = Blockly.Arduino.valueToCode(this,'YL',Blockly.Arduino.ORDER_ATOMIC) || '25';
|
|
|
|
var input_RR = Blockly.Arduino.valueToCode(this,'RR',Blockly.Arduino.ORDER_ATOMIC) || '17';
|
|
|
|
var input_RL = Blockly.Arduino.valueToCode(this,'RL',Blockly.Arduino.ORDER_ATOMIC) || '16';
|
|
|
|
Blockly.Arduino.definitions_['define_hippie_h'] = '#include <Hippie.h>';
|
|
|
|
Blockly.Arduino.definitions_['declare_var_define_hippie']='Hippie hippie;\n';
|
|
|
|
Blockly.Arduino.setups_['setup_hippie_init'] = 'hippie.init('+input_YR+','+input_YL+','+input_RR+','+input_RL+');\n';
|
|
|
|
return code;
|
|
|
|
};
|
|
|
|
|
|
|
|
Blockly.Arduino['HIPPIE_movement'] = function() {
|
|
|
|
var code='';
|
|
|
|
var movement = this.getFieldValue('MOVEMENT');
|
|
|
|
if (movement==='0')
|
|
|
|
code+='hippie.home();\n';
|
|
|
|
else if (movement==='1')
|
|
|
|
code+='hippie.jump('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '600')+');\n';
|
|
|
|
else if (movement==='2')
|
2017-12-13 09:20:41 +00:00
|
|
|
code+='hippie.new_walk('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
|
2017-12-12 21:28:27 +00:00
|
|
|
else if (movement==='3')
|
2017-12-13 09:20:41 +00:00
|
|
|
code+='hippie.new_turn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
|
2017-12-12 21:28:27 +00:00
|
|
|
else if (movement==='4')
|
|
|
|
code+='hippie.bend('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1400')+','+this.getFieldValue('FIELD3')+');\n';
|
|
|
|
else if (movement==='5')
|
|
|
|
code+='hippie.shakeLeg('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '2000')+','+this.getFieldValue('FIELD3')+');\n';
|
|
|
|
else if (movement==='6')
|
|
|
|
code+='hippie.updown('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
|
|
|
else if (movement==='7')
|
|
|
|
code+='hippie.swing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
|
|
|
else if (movement==='8')
|
|
|
|
code+='hippie.tiptoeSwing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
|
|
|
else if (movement==='9')
|
|
|
|
code+='hippie.jitter('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '500')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
|
|
|
|
else if (movement==='10')
|
|
|
|
code+='hippie.ascendingTurn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
|
|
|
|
else if (movement==='11')
|
|
|
|
code+='hippie.moonwalker('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
|
|
|
|
else if (movement==='12')
|
|
|
|
code+='hippie.crusaito('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '20')+','+this.getFieldValue('FIELD3')+');\n';
|
|
|
|
else if (movement==='13')
|
|
|
|
code+='hippie.flapping('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
|
|
|
|
return code;
|
|
|
|
}
|
|
|
|
|
|
|
|
Blockly.Blocks['HIPPIE_movement'] = {
|
|
|
|
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
|
|
|
|
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
|
|
|
|
tags: [],
|
|
|
|
helpUrl: Facilino.getHelpUrl('LARS_movement'),
|
|
|
|
examples: [],
|
|
|
|
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
|
|
|
|
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
|
|
|
|
init: function() {
|
|
|
|
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
|
|
|
|
var movement = new Blockly.FieldDropdown([
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HOME'),'0'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JUMP'),'1'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_WALK'),'2'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TURN'),'3'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BEND'),'4'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SHAKE_LEG'),'5'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_UPDOWN'),'6'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SWING'),'7'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TIPTOE_SWING'),'8'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JITTER'),'9'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_ASCENDING_TURN'),'10'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOONWALKER'),'11'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_CRUSAITO'),'12'],
|
|
|
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FLAPPING'),'13']
|
|
|
|
]);
|
|
|
|
this.appendDummyInput().appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT'));
|
|
|
|
this.appendDummyInput('').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOVEMENT')).appendField(movement,'MOVEMENT').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this.last_movement = -1;
|
|
|
|
this._inp1_removed = true;
|
|
|
|
this._inp2_removed = true;
|
|
|
|
this._inp3_removed = true;
|
|
|
|
this._inp4_removed = true;
|
|
|
|
this.checkMovement();
|
|
|
|
this.last_movement = this.getFieldValue('MOVEMENT');
|
|
|
|
this.setInputsInline(false);
|
|
|
|
this.setPreviousStatement(true,'code');
|
|
|
|
this.setNextStatement(true,'code');
|
|
|
|
this.setOutput(false);
|
|
|
|
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TOOLTIP'));
|
|
|
|
},
|
|
|
|
checkMovement: function() {
|
|
|
|
var _movement = this.getFieldValue('MOVEMENT');
|
|
|
|
try {
|
|
|
|
if (_movement<11)
|
|
|
|
{
|
|
|
|
this._inp4_removed=true;
|
|
|
|
this.removeInput('INP4');
|
|
|
|
}
|
|
|
|
} catch (e) {}
|
|
|
|
try {
|
|
|
|
if (((_movement>=6)&&(_movement<=10)&&(this.last_movement>=2)&&(this.last_movement<=5))||((_movement>=2)&&(_movement<=5)&&(this.last_movement>=6)&&(this.last_movement<=10)))
|
|
|
|
{
|
|
|
|
this._inp3_removed=true;
|
|
|
|
this.removeInput('INP3');
|
|
|
|
}
|
|
|
|
} catch (e) {}
|
|
|
|
try {
|
|
|
|
if (_movement<2)
|
|
|
|
{
|
|
|
|
this._inp3_removed=true;
|
|
|
|
this.removeInput('INP3');
|
|
|
|
}
|
|
|
|
} catch (e) {}
|
|
|
|
try {
|
|
|
|
if (_movement<1)
|
|
|
|
{
|
|
|
|
this._inp1_removed=true;
|
|
|
|
this.removeInput('INP1');
|
|
|
|
this._inp2_removed=true;
|
|
|
|
this.removeInput('INP2');
|
|
|
|
}
|
|
|
|
} catch (e) {}
|
|
|
|
if ( _movement == 1) {
|
|
|
|
if (this._inp1_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp1_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
|
|
|
if (this._inp2_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp2_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
|
|
|
} else if (( _movement >= 2)&&( _movement <= 10)) {
|
|
|
|
if (this._inp1_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp1_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
|
|
|
if (this._inp2_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp2_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
|
|
|
if (this._inp3_removed)
|
|
|
|
{
|
|
|
|
if (_movement==2)
|
|
|
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
else if (_movement<=5)
|
|
|
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
else
|
|
|
|
this.appendValueInput('INP3').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp3_removed=false;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
|
|
|
|
try{
|
|
|
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
|
|
|
|
if (_movement==2)
|
|
|
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
|
|
|
|
else if (_movement<=5)
|
|
|
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
|
|
|
|
else
|
|
|
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3');
|
|
|
|
}catch (e) {}
|
|
|
|
}
|
|
|
|
}
|
2017-12-13 09:20:41 +00:00
|
|
|
else if (( _movement >= 11)&&( _movement <= 13)){
|
2017-12-12 21:28:27 +00:00
|
|
|
if (this._inp1_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp1_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
|
|
|
if (this._inp2_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp2_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
|
|
|
if (this._inp3_removed)
|
|
|
|
{
|
|
|
|
if (_movement==11)
|
|
|
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
else
|
|
|
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp3_removed=false;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
|
|
|
|
try{
|
|
|
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
|
|
|
|
if (_movement==11)
|
|
|
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
|
|
|
|
else
|
|
|
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
|
|
|
|
}catch (e) {}
|
|
|
|
}
|
|
|
|
if (this._inp4_removed)
|
|
|
|
{
|
|
|
|
this.appendValueInput('INP4').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT','TEXT4')).setAlign(Blockly.ALIGN_RIGHT);
|
|
|
|
this._inp4_removed=false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT4');}catch (e) {}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onchange: function() {
|
|
|
|
if (this.getFieldValue('MOVEMENT') !== this.last_movement) {
|
|
|
|
this.checkMovement();
|
|
|
|
this.last_movement = this.getFieldValue('MOVEMENT');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|