2 extends DialogicCharacterEditorMainSection
4 ## The general portrait settings section
8 func _get_title() -> String:
12 func _ready() -> void:
13 # Connecting all necessary signals
14 %DefaultPortraitPicker.value_changed.connect(default_portrait_changed)
15 %MainScale.value_changed.connect(main_portrait_settings_update)
16 %MainOffset._load_display_info({'step':1})
17 %MainOffset.value_changed.connect(main_portrait_settings_update)
18 %MainMirror.toggled.connect(main_portrait_settings_update)
20 # Setting up Default Portrait Picker
21 %DefaultPortraitPicker.resource_icon = load("res://addons/dialogic/Editor/Images/Resources/portrait.svg")
22 %DefaultPortraitPicker.get_suggestions_func = suggest_portraits
25 ## Make sure preview get's updated when portrait settings change
26 func main_portrait_settings_update(_something=null, _value=null) -> void:
29 character_editor.current_resource.scale = %MainScale.value/100.0
30 character_editor.current_resource.offset = %MainOffset.current_value
31 character_editor.current_resource.mirror = %MainMirror.button_pressed
32 character_editor.update_preview()
33 character_editor.something_changed()
36 func default_portrait_changed(property:String, value:String) -> void:
37 character_editor.current_resource.default_portrait = value
38 character_editor.update_default_portrait_star(value)
41 func set_default_portrait(portrait_name:String) -> void:
42 %DefaultPortraitPicker.set_value(portrait_name)
43 default_portrait_changed("", portrait_name)
46 func _load_character(resource:DialogicCharacter) -> void:
48 %DefaultPortraitPicker.set_value(resource.default_portrait)
50 %MainScale.value = 100*resource.scale
51 %MainOffset.set_value(resource.offset)
52 %MainMirror.button_pressed = resource.mirror
56 func _save_changes(resource:DialogicCharacter) -> DialogicCharacter:
58 if %DefaultPortraitPicker.current_value in resource.portraits.keys():
59 resource.default_portrait = %DefaultPortraitPicker.current_value
60 elif !resource.portraits.is_empty():
61 resource.default_portrait = resource.portraits.keys()[0]
63 resource.default_portrait = ""
65 resource.scale = %MainScale.value/100.0
66 resource.offset = %MainOffset.current_value
67 resource.mirror = %MainMirror.button_pressed
71 ## Get suggestions for DefaultPortraitPicker
72 func suggest_portraits(search:String) -> Dictionary:
74 for portrait in character_editor.get_updated_portrait_dict().keys():
75 suggestions[portrait] = {'value':portrait}