No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IfCondition.gd 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. tool
  2. extends Control
  3. var editor_reference
  4. var editorPopup
  5. # This is the information of this event and it will get parsed and saved to the JSON file.
  6. var event_data = {
  7. 'condition': '==',
  8. 'definition': '',
  9. 'value': ''
  10. }
  11. onready var nodes = {
  12. 'definition_picker': $PanelContainer/VBoxContainer/Header/DefinitionPicker,
  13. 'condition_picker': $PanelContainer/VBoxContainer/Header/ConditionPicker,
  14. }
  15. func _ready():
  16. nodes['definition_picker'].get_popup().connect("index_pressed", self, '_on_definition_entry_selected')
  17. nodes['condition_picker'].get_popup().connect("index_pressed", self, '_on_condition_entry_selected')
  18. $PanelContainer/VBoxContainer/Header/CustomLineEdit.connect("text_changed", self, '_on_text_changed')
  19. func _on_text_changed(new_text):
  20. event_data['value'] = new_text
  21. func load_data(data):
  22. event_data = data
  23. $PanelContainer/VBoxContainer/Header/CustomLineEdit.text = event_data['value']
  24. nodes['definition_picker'].load_definition(data['definition'])
  25. nodes['condition_picker'].load_condition(data['condition'])
  26. func _on_definition_entry_selected(index):
  27. var metadata = nodes['definition_picker'].get_popup().get_item_metadata(index)
  28. event_data['definition'] = metadata['id']
  29. func _on_condition_entry_selected(index):
  30. var metadata = nodes['condition_picker'].get_popup().get_item_metadata(index)
  31. event_data['condition'] = metadata['condition']