First work on dialogic, resized guild, and started implementing portraits.
This commit is contained in:
92
addons/dialogic/Modules/Character/settings_portraits.gd
Normal file
92
addons/dialogic/Modules/Character/settings_portraits.gd
Normal file
@@ -0,0 +1,92 @@
|
||||
@tool
|
||||
extends DialogicSettingsPage
|
||||
|
||||
|
||||
const POSITION_SUGGESTION_KEY := 'dialogic/portraits/position_suggestion_names'
|
||||
|
||||
const DEFAULT_PORTRAIT_SCENE_KEY := 'dialogic/portraits/default_portrait'
|
||||
|
||||
const ANIMATION_JOIN_DEFAULT_KEY := 'dialogic/animations/join_default'
|
||||
const ANIMATION_JOIN_DEFAULT_LENGTH_KEY := 'dialogic/animations/join_default_length'
|
||||
const ANIMATION_JOIN_DEFAULT_WAIT_KEY := 'dialogic/animations/join_default_wait'
|
||||
const ANIMATION_LEAVE_DEFAULT_KEY := 'dialogic/animations/leave_default'
|
||||
const ANIMATION_LEAVE_DEFAULT_LENGTH_KEY := 'dialogic/animations/leave_default_length'
|
||||
const ANIMATION_LEAVE_DEFAULT_WAIT_KEY := 'dialogic/animations/leave_default_wait'
|
||||
const ANIMATION_CROSSFADE_DEFAULT_KEY := 'dialogic/animations/cross_fade_default'
|
||||
const ANIMATION_CROSSFADE_DEFAULT_LENGTH_KEY:= 'dialogic/animations/cross_fade_default_length'
|
||||
|
||||
|
||||
func _ready():
|
||||
%JoinDefault.get_suggestions_func = get_join_animation_suggestions
|
||||
%JoinDefault.mode = 1
|
||||
%LeaveDefault.get_suggestions_func = get_leave_animation_suggestions
|
||||
%LeaveDefault.mode = 1
|
||||
%CrossFadeDefault.get_suggestions_func = get_crossfade_animation_suggestions
|
||||
%CrossFadeDefault.mode = 1
|
||||
|
||||
%PositionSuggestions.text_submitted.connect(save_setting.bind(POSITION_SUGGESTION_KEY))
|
||||
%CustomPortraitScene.value_changed.connect(save_setting_with_name.bind(DEFAULT_PORTRAIT_SCENE_KEY))
|
||||
|
||||
%JoinDefault.value_changed.connect(
|
||||
save_setting_with_name.bind(ANIMATION_JOIN_DEFAULT_KEY))
|
||||
%JoinDefaultLength.value_changed.connect(
|
||||
save_setting.bind(ANIMATION_JOIN_DEFAULT_LENGTH_KEY))
|
||||
%JoinDefaultWait.toggled.connect(
|
||||
save_setting.bind(ANIMATION_JOIN_DEFAULT_WAIT_KEY))
|
||||
|
||||
%LeaveDefault.value_changed.connect(
|
||||
save_setting_with_name.bind(ANIMATION_LEAVE_DEFAULT_KEY))
|
||||
%LeaveDefaultLength.value_changed.connect(
|
||||
save_setting.bind(ANIMATION_LEAVE_DEFAULT_LENGTH_KEY))
|
||||
%LeaveDefaultWait.toggled.connect(
|
||||
save_setting.bind(ANIMATION_LEAVE_DEFAULT_WAIT_KEY))
|
||||
|
||||
%CrossFadeDefault.value_changed.connect(
|
||||
save_setting_with_name.bind(ANIMATION_CROSSFADE_DEFAULT_KEY))
|
||||
%CrossFadeDefaultLength.value_changed.connect(
|
||||
save_setting.bind(ANIMATION_CROSSFADE_DEFAULT_LENGTH_KEY))
|
||||
|
||||
|
||||
func _refresh():
|
||||
%PositionSuggestions.text = ProjectSettings.get_setting(POSITION_SUGGESTION_KEY, 'leftmost, left, center, right, rightmost')
|
||||
|
||||
%CustomPortraitScene.resource_icon = get_theme_icon(&"PackedScene", &"EditorIcons")
|
||||
%CustomPortraitScene.set_value(ProjectSettings.get_setting(DEFAULT_PORTRAIT_SCENE_KEY, ''))
|
||||
|
||||
# JOIN
|
||||
%JoinDefault.resource_icon = get_theme_icon(&"Animation", &"EditorIcons")
|
||||
%JoinDefault.set_value(ProjectSettings.get_setting(ANIMATION_JOIN_DEFAULT_KEY, "Fade In Up"))
|
||||
%JoinDefaultLength.set_value(ProjectSettings.get_setting(ANIMATION_JOIN_DEFAULT_LENGTH_KEY, 0.5))
|
||||
%JoinDefaultWait.button_pressed = ProjectSettings.get_setting(ANIMATION_JOIN_DEFAULT_WAIT_KEY, true)
|
||||
|
||||
# LEAVE
|
||||
%LeaveDefault.resource_icon = get_theme_icon(&"Animation", &"EditorIcons")
|
||||
%LeaveDefault.set_value(ProjectSettings.get_setting(ANIMATION_LEAVE_DEFAULT_KEY, "Fade Out Down"))
|
||||
%LeaveDefaultLength.set_value(ProjectSettings.get_setting(ANIMATION_LEAVE_DEFAULT_LENGTH_KEY, 0.5))
|
||||
%LeaveDefaultWait.button_pressed = ProjectSettings.get_setting(ANIMATION_LEAVE_DEFAULT_WAIT_KEY, true)
|
||||
|
||||
# CROSS FADE
|
||||
%CrossFadeDefault.resource_icon = get_theme_icon(&"Animation", &"EditorIcons")
|
||||
%CrossFadeDefault.set_value(ProjectSettings.get_setting(ANIMATION_CROSSFADE_DEFAULT_KEY, "Fade Cross"))
|
||||
%CrossFadeDefaultLength.set_value(ProjectSettings.get_setting(ANIMATION_CROSSFADE_DEFAULT_LENGTH_KEY, 0.5))
|
||||
|
||||
|
||||
func save_setting_with_name(property_name:String, value:Variant, settings_key:String) -> void:
|
||||
save_setting(value, settings_key)
|
||||
|
||||
|
||||
func save_setting(value:Variant, settings_key:String) -> void:
|
||||
ProjectSettings.set_setting(settings_key, value)
|
||||
ProjectSettings.save()
|
||||
|
||||
|
||||
func get_join_animation_suggestions(search_text:String) -> Dictionary:
|
||||
return DialogicPortraitAnimationUtil.get_suggestions(search_text, %JoinDefault.current_value, "", DialogicPortraitAnimationUtil.AnimationType.IN)
|
||||
|
||||
|
||||
func get_leave_animation_suggestions(search_text:String) -> Dictionary:
|
||||
return DialogicPortraitAnimationUtil.get_suggestions(search_text, %LeaveDefault.current_value, "", DialogicPortraitAnimationUtil.AnimationType.OUT)
|
||||
|
||||
|
||||
func get_crossfade_animation_suggestions(search_text:String) -> Dictionary:
|
||||
return DialogicPortraitAnimationUtil.get_suggestions(search_text, %CrossFadeDefault.current_value, "", DialogicPortraitAnimationUtil.AnimationType.CROSSFADE)
|
||||
Reference in New Issue
Block a user