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.

CharacterLeaveBlock.gd 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. tool
  2. extends Control
  3. var editor_reference
  4. var character_selected = ''
  5. # This is the information of this event and it will get parsed and saved to the JSON file.
  6. var event_data = {
  7. 'action': 'leaveall',
  8. 'character': '[All]',
  9. }
  10. func _ready():
  11. $PanelContainer/VBoxContainer/Header/CharacterDropdown.get_popup().connect("index_pressed", self, '_on_character_selected')
  12. func _on_CharacterDropdown_about_to_show():
  13. var Dropdown = $PanelContainer/VBoxContainer/Header/CharacterDropdown
  14. Dropdown.get_popup().clear()
  15. Dropdown.get_popup().add_item("[All]")
  16. var index = 1
  17. for c in DialogicUtil.get_sorted_character_list():
  18. Dropdown.get_popup().add_item(c['name'])
  19. Dropdown.get_popup().set_item_metadata(index, {'file': c['file'], 'color': c['color']})
  20. index += 1
  21. func _on_character_selected(index):
  22. var text = $PanelContainer/VBoxContainer/Header/CharacterDropdown.get_popup().get_item_text(index)
  23. var metadata = $PanelContainer/VBoxContainer/Header/CharacterDropdown.get_popup().get_item_metadata(index)
  24. $PanelContainer/VBoxContainer/Header/CharacterDropdown.text = text
  25. event_data['character'] = metadata['file']
  26. func load_data(data):
  27. event_data = data
  28. if data['character'] != '[All]':
  29. if data['character'] != '':
  30. var character_data = DialogicResources.get_character_json(data['character'])
  31. if character_data.has('name'):
  32. $PanelContainer/VBoxContainer/Header/CharacterDropdown.text = character_data['name']