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.

PortraitPicker.gd 932B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. tool
  2. extends MenuButton
  3. var character
  4. var portrait
  5. var allow_dont_change:bool = true
  6. func _ready():
  7. visible = false
  8. connect("about_to_show", self, '_on_about_to_show')
  9. if allow_dont_change == false:
  10. text = 'Default'
  11. func set_character(c: String, p: String = '') -> void:
  12. character = c
  13. portrait = p
  14. visible = false
  15. for c in DialogicUtil.get_character_list():
  16. if c['file'] == character:
  17. if c.has('portraits'):
  18. if c['portraits'].size() > 1:
  19. visible = true
  20. for p in c['portraits']:
  21. if p['name'] == portrait:
  22. text = portrait
  23. if allow_dont_change:
  24. if p == "[Don't change]":
  25. text = ''
  26. func _on_about_to_show():
  27. get_popup().clear()
  28. var index = 0
  29. if allow_dont_change:
  30. get_popup().add_item("[Don't change]")
  31. index += 1
  32. for c in DialogicUtil.get_sorted_character_list():
  33. if c['file'] == character:
  34. for p in c['portraits']:
  35. get_popup().add_item(p['name'])
  36. index += 1