Initial Android commit

This commit is contained in:
OleSTEEP 2024-11-10 03:34:28 +03:00
commit 1e2b80c13d
8521 changed files with 231475 additions and 0 deletions

View file

@ -0,0 +1,14 @@
tool
extends VBoxContainer
func _ready():
var HistoryCheckbox = $"GridContainer/HistoryBox/SettingsCheckbox/CheckBox"
HistoryCheckbox.connect("toggled", self, "_on_HistoryLogging_toggled")
_on_HistoryLogging_toggled(HistoryCheckbox.pressed)
func _on_HistoryLogging_toggled(button_pressed):
for n in $GridContainer.get_children():
n.visible = button_pressed
$GridContainer / HistoryBox.visible = true

View file

@ -0,0 +1,341 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=1]
[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.gd" type="Script" id=3]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn" type="PackedScene" id=4]
[sub_resource type="StyleBoxFlat" id=1]
content_margin_left = 4.0
content_margin_right = 4.0
content_margin_top = 4.0
content_margin_bottom = 4.0
bg_color = Color( 0.252, 0.2718, 0.3246, 1 )
[sub_resource type="Image" id=4]
data = {
"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
"format": "LumAlpha8",
"height": 16,
"mipmaps": false,
"width": 16
}
[sub_resource type="ImageTexture" id=3]
flags = 4
flags = 4
image = SubResource( 4 )
size = Vector2( 16, 16 )
[node name="HistorySettings" type="VBoxContainer"]
margin_top = 258.0
margin_right = 304.0
margin_bottom = 390.0
script = ExtResource( 3 )
[node name="SectionTitle" parent="." instance=ExtResource( 1 )]
margin_right = 336.0
custom_styles/normal = SubResource( 1 )
text = "History settings"
text_key = "History settings"
[node name="GridContainer" type="GridContainer" parent="."]
margin_top = 26.0
margin_right = 336.0
margin_bottom = 344.0
columns = 2
[node name="HistoryBox" type="HBoxContainer" parent="GridContainer"]
margin_right = 158.0
margin_bottom = 24.0
[node name="SettingsCheckbox" parent="GridContainer/HistoryBox" instance=ExtResource( 4 )]
margin_right = 158.0
margin_bottom = 24.0
text = "Enable History"
settings_section = "history"
settings_key = "enable_history_logging"
[node name="UseDialogTheme" parent="GridContainer" instance=ExtResource( 4 )]
margin_left = 162.0
margin_right = 336.0
margin_bottom = 24.0
text = "Use default theme"
default = true
settings_section = "history"
settings_key = "enable_dynamic_theme"
[node name="HSeparator" type="HSeparator" parent="GridContainer"]
margin_top = 28.0
margin_right = 158.0
margin_bottom = 32.0
[node name="HSeparator2" type="HSeparator" parent="GridContainer"]
margin_left = 162.0
margin_top = 28.0
margin_right = 336.0
margin_bottom = 32.0
[node name="ShowOpenButton" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 36.0
margin_right = 158.0
margin_bottom = 60.0
text = "Show open button"
default = true
settings_section = "history"
settings_key = "enable_open_button"
[node name="ShowCloseButton" parent="GridContainer" instance=ExtResource( 4 )]
margin_left = 162.0
margin_top = 36.0
margin_right = 336.0
margin_bottom = 60.0
text = "Show close button"
default = true
settings_section = "history"
settings_key = "enable_close_button"
[node name="LogAllChoices" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 64.0
margin_right = 158.0
margin_bottom = 88.0
text = "Log all choices"
default = true
settings_section = "history"
settings_key = "log_choices"
[node name="LogChoiceAnswer" parent="GridContainer" instance=ExtResource( 4 )]
margin_left = 162.0
margin_top = 64.0
margin_right = 336.0
margin_bottom = 88.0
text = "Log choice answer"
default = true
settings_section = "history"
settings_key = "log_answers"
[node name="LogCharacterJoins" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 92.0
margin_right = 158.0
margin_bottom = 116.0
text = "Log character joins"
default = true
settings_section = "history"
settings_key = "log_arrivals"
[node name="LogBox" type="HBoxContainer" parent="GridContainer"]
margin_left = 162.0
margin_top = 92.0
margin_right = 336.0
margin_bottom = 116.0
[node name="HSeparator" type="VSeparator" parent="GridContainer/LogBox"]
margin_right = 4.0
margin_bottom = 24.0
[node name="JoinTextLabel" parent="GridContainer/LogBox" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 8.0
margin_top = 5.0
margin_right = 35.0
margin_bottom = 19.0
text = "Text"
text_key = "Text"
[node name="LineEdit" type="LineEdit" parent="GridContainer/LogBox"]
margin_left = 39.0
margin_right = 174.0
margin_bottom = 24.0
size_flags_horizontal = 3
text = "has arrived"
[node name="LogCharacterLeaves" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 120.0
margin_right = 158.0
margin_bottom = 144.0
text = "Log character leaves"
default = true
settings_section = "history"
settings_key = "history_scroll_to_bottom"
[node name="LogBox2" type="HBoxContainer" parent="GridContainer"]
margin_left = 162.0
margin_top = 120.0
margin_right = 336.0
margin_bottom = 144.0
[node name="HSeparator" type="VSeparator" parent="GridContainer/LogBox2"]
margin_right = 4.0
margin_bottom = 24.0
[node name="TLabel1" parent="GridContainer/LogBox2" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 8.0
margin_top = 5.0
margin_right = 35.0
margin_bottom = 19.0
text = "Text"
text_key = "Text"
[node name="LineEdit" type="LineEdit" parent="GridContainer/LogBox2"]
margin_left = 39.0
margin_right = 174.0
margin_bottom = 24.0
size_flags_horizontal = 3
text = "has left"
[node name="ScrollToBottom" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 148.0
margin_right = 158.0
margin_bottom = 172.0
text = "Scroll to bottom"
default = true
settings_section = "history"
settings_key = "history_scroll_to_bottom"
[node name="ReverseTimeline" parent="GridContainer" instance=ExtResource( 4 )]
margin_left = 162.0
margin_top = 148.0
margin_right = 336.0
margin_bottom = 172.0
text = "Reverse timeline"
settings_section = "history"
settings_key = "history_reverse_timeline"
[node name="ShowNameColors" parent="GridContainer" instance=ExtResource( 4 )]
margin_top = 176.0
margin_right = 158.0
margin_bottom = 200.0
text = "Show name colors"
default = true
settings_section = "history"
settings_key = "history_name_color_on"
[node name="LineBreakAfterNames" parent="GridContainer" instance=ExtResource( 4 )]
margin_left = 162.0
margin_top = 176.0
margin_right = 336.0
margin_bottom = 200.0
text = "Line break after names"
settings_section = "history"
settings_key = "history_break_after_name"
[node name="HSeparator3" type="HSeparator" parent="GridContainer"]
margin_top = 204.0
margin_right = 158.0
margin_bottom = 208.0
[node name="HSeparator4" type="HSeparator" parent="GridContainer"]
margin_left = 162.0
margin_top = 204.0
margin_right = 336.0
margin_bottom = 208.0
[node name="TLabel8" parent="GridContainer" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 216.0
margin_right = 158.0
margin_bottom = 230.0
size_flags_horizontal = 3
text = "History button position"
text_key = "History button position"
[node name="PositionSelector" type="OptionButton" parent="GridContainer"]
margin_left = 162.0
margin_top = 212.0
margin_right = 336.0
margin_bottom = 234.0
text = "Top Right"
icon = SubResource( 3 )
items = [ "Top Left", SubResource( 3 ), false, 0, null, "Top Center", SubResource( 3 ), false, 1, null, "Top Right", SubResource( 3 ), false, 2, null, "", null, false, 3, null, "Center Left", SubResource( 3 ), false, 3, null, "Center", SubResource( 3 ), false, 4, null, "Center Right", SubResource( 3 ), false, 5, null, "", null, false, 7, null, "Bottom Left", SubResource( 3 ), false, 6, null, "Bottom Center", SubResource( 3 ), false, 7, null, "Bottom Right", SubResource( 3 ), false, 8, null ]
selected = 2
__meta__ = {
"_edit_use_anchors_": false
}
[node name="TLabel9" parent="GridContainer" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 243.0
margin_right = 158.0
margin_bottom = 257.0
hint_tooltip = "Choose delimiter that appears after character name"
mouse_filter = 0
size_flags_horizontal = 3
text = "Name delimiter"
text_key = "Name delimiter"
[node name="CharacterDelimiter" type="LineEdit" parent="GridContainer"]
margin_left = 162.0
margin_top = 238.0
margin_right = 336.0
margin_bottom = 262.0
text = ":"
[node name="TLabel7" parent="GridContainer" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 271.0
margin_right = 158.0
margin_bottom = 285.0
mouse_filter = 0
text = "Screen margin"
text_key = "Screen margin"
[node name="BoxMargin" type="HBoxContainer" parent="GridContainer"]
margin_left = 162.0
margin_top = 266.0
margin_right = 336.0
margin_bottom = 290.0
[node name="MarginX" type="SpinBox" parent="GridContainer/BoxMargin"]
margin_right = 74.0
margin_bottom = 24.0
max_value = 999.0
rounded = true
allow_greater = true
allow_lesser = true
[node name="MarginY" type="SpinBox" parent="GridContainer/BoxMargin"]
margin_left = 78.0
margin_right = 152.0
margin_bottom = 24.0
max_value = 999.0
rounded = true
allow_greater = true
allow_lesser = true
[node name="TLabel5" parent="GridContainer" instance=ExtResource( 2 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 299.0
margin_right = 158.0
margin_bottom = 313.0
text = "Log margin"
text_key = "Log margin"
[node name="ContainerMargin" type="HBoxContainer" parent="GridContainer"]
margin_left = 162.0
margin_top = 294.0
margin_right = 336.0
margin_bottom = 318.0
[node name="MarginX" type="SpinBox" parent="GridContainer/ContainerMargin"]
margin_right = 74.0
margin_bottom = 24.0
max_value = 1e+07
rounded = true
allow_greater = true
allow_lesser = true
[node name="MarginY" type="SpinBox" parent="GridContainer/ContainerMargin"]
margin_left = 78.0
margin_right = 152.0
margin_bottom = 24.0
max_value = 1e+07
rounded = true
allow_greater = true
allow_lesser = true

View file

@ -0,0 +1,17 @@
tool
extends HBoxContainer
export var text:String = ""
export var default:bool = false
export var settings_section:String = ""
export var settings_key:String = ""
func _ready():
$CheckBox.text = DTS.translate(text)
var settings = DialogicResources.get_settings_config()
$CheckBox.pressed = settings.get_value(settings_section, settings_key, default)
$CheckBox.connect("toggled", self, "_on_toggled")
func _on_toggled(button_pressed):
DialogicResources.set_settings_value(settings_section, settings_key, button_pressed)

View file

@ -0,0 +1,12 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.gd" type="Script" id=1]
[node name="SettingsCheckbox" type="HBoxContainer"]
size_flags_horizontal = 3
script = ExtResource( 1 )
[node name="CheckBox" type="CheckBox" parent="."]
margin_right = 24.0
margin_bottom = 24.0
size_flags_horizontal = 3

View file

@ -0,0 +1,449 @@
tool
extends ScrollContainer
var editor_reference
onready var nodes = {
"themes":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer / HBoxContainer / ThemePicker,
"canvas_layer":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer / HBoxContainer3 / CanvasLayer,
"text_event_audio_default_bus":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer2 / TextAudioDefaultBus / AudioBus,
"delay_after_options":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / VBoxContainer / HBoxContainer / LineEdit,
"default_action_key":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / VBoxContainer / HBoxContainer2 / DefaultActionKey,
"choice_hotkey_1":$"VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4/Choice1Hotkey",
"choice_hotkey_2":$"VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5/Choice2Hotkey",
"choice_hotkey_3":$"VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6/Choice3Hotkey",
"choice_hotkey_4":$"VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7/Choice4Hotkey",
"new_custom_event_open":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / NewCustomEvent,
"new_custom_event_section":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection,
"new_custom_event_name":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection / CeName,
"new_custom_event_directory":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection / CeDirectory,
"new_custom_event_id":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection / CeEventId,
"new_custom_event_create":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection / HBoxContainer / CreateCustomEvent,
"new_custom_event_cancel":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / CreateCustomEventSection / HBoxContainer / CancelCustomEvent,
"text_arrivals":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / LogBox / LineEdit,
"text_exits":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / LogBox2 / LineEdit,
"history_button_position":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / PositionSelector,
"history_character_delimiter":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / CharacterDelimiter,
"history_screen_margin_x":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / BoxMargin / MarginX,
"history_screen_margin_y":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / BoxMargin / MarginY,
"history_container_margin_x":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / ContainerMargin / MarginX,
"history_container_margin_y":$VBoxContainer / HBoxContainer3 / VBoxContainer2 / HistorySettings / GridContainer / ContainerMargin / MarginY,
"default_join_animation":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer4 / DefaultJoinAnimation / JoinAnimationPicker,
"default_join_animation_length":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer4 / DefaultJoinAnimation / AnimationLengthPicker,
"default_leave_animation":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer4 / DefaultLeaveAnimation / LeaveAnimationPicker,
"default_leave_animation_length":$VBoxContainer / HBoxContainer3 / VBoxContainer / VBoxContainer4 / DefaultLeaveAnimation / AnimationLengthPicker,
}
var THEME_KEYS: = [
"canvas_layer",
]
var INPUT_KEYS: = [
"delay_after_options",
"default_action_key",
"choice_hotkey_1",
"choice_hotkey_2",
"choice_hotkey_3",
"choice_hotkey_4",
]
var HISTORY_KEYS: = [
"text_arrivals",
"text_exits",
"history_button_position",
"history_character_delimiter",
"history_screen_margin_x",
"history_screen_margin_y",
"history_container_margin_x",
"history_container_margin_y"
]
var ANIMATION_KEYS: = [
"default_join_animation",
"default_join_animation_length",
"default_leave_animation",
"default_leave_animation_length"
]
func _ready():
editor_reference = find_parent("EditorView")
update_bus_selector()
update_data()
nodes["themes"].connect("about_to_show", self, "build_PickerMenu")
nodes["themes"].custom_icon = load("res://addons/dialogic/Images/Resources/theme.svg")
nodes["canvas_layer"].connect("value_changed", self, "_on_canvas_layer_text_changed")
nodes["delay_after_options"].connect("text_changed", self, "_on_delay_options_text_changed")
nodes["default_action_key"].connect("pressed", self, "_on_default_action_key_presssed")
nodes["default_action_key"].connect("item_selected", self, "_on_default_action_key_item_selected")
for i in range(1, 5):
var key = str("choice_hotkey_", i)
nodes[key].connect("pressed", self, "_on_hotkey_action_key_presssed", [key])
nodes[key].connect("item_selected", self, "_on_default_action_key_item_selected", [key])
AudioServer.connect("bus_layout_changed", self, "update_bus_selector")
nodes["text_event_audio_default_bus"].connect("item_selected", self, "_on_text_audio_default_bus_item_selected")
nodes["history_button_position"].connect("item_selected", self, "_on_button_history_button_position_selected")
nodes["history_character_delimiter"].connect("text_changed", self, "_on_text_changed", ["history", "history_character_delimiter"])
nodes["text_arrivals"].connect("text_changed", self, "_on_text_changed", ["history", "text_arrivals"])
nodes["text_exits"].connect("text_changed", self, "_on_text_changed", ["history", "text_exits"])
for button in ["history_button_position"]:
var button_positions_popup = nodes[button].get_popup()
button_positions_popup.clear()
button_positions_popup.add_icon_item(
get_icon("ControlAlignTopLeft", "EditorIcons"), "Top Left", 0)
button_positions_popup.add_icon_item(
get_icon("ControlAlignTopCenter", "EditorIcons"), "Top Center", 1)
button_positions_popup.add_icon_item(
get_icon("ControlAlignTopRight", "EditorIcons"), "Top Right", 2)
button_positions_popup.add_separator()
button_positions_popup.add_icon_item(
get_icon("ControlAlignLeftCenter", "EditorIcons"), "Center Left", 3)
button_positions_popup.add_icon_item(
get_icon("ControlAlignCenter", "EditorIcons"), "Center", 4)
button_positions_popup.add_icon_item(
get_icon("ControlAlignRightCenter", "EditorIcons"), "Center Right", 5)
button_positions_popup.add_separator()
button_positions_popup.add_icon_item(
get_icon("ControlAlignBottomLeft", "EditorIcons"), "Bottom Left", 6)
button_positions_popup.add_icon_item(
get_icon("ControlAlignBottomCenter", "EditorIcons"), "Bottom Center", 7)
button_positions_popup.add_icon_item(
get_icon("ControlAlignBottomRight", "EditorIcons"), "Bottom Right", 8)
nodes["history_screen_margin_x"].connect("value_changed", self, "_spinbox_val_changed", ["history_screen_margin_x"])
nodes["history_screen_margin_y"].connect("value_changed", self, "_spinbox_val_changed", ["history_screen_margin_y"])
nodes["history_container_margin_x"].connect("value_changed", self, "_spinbox_val_changed", ["history_container_margin_x"])
nodes["history_container_margin_y"].connect("value_changed", self, "_spinbox_val_changed", ["history_container_margin_y"])
nodes["new_custom_event_open"].connect("pressed", self, "new_custom_event_pressed")
nodes["new_custom_event_section"].hide()
nodes["new_custom_event_name"].connect("text_changed", self, "custom_event_name_entered")
nodes["new_custom_event_id"].connect("text_changed", self, "custom_event_id_entered")
nodes["new_custom_event_cancel"].connect("pressed", self, "cancel_custom_event")
nodes["new_custom_event_create"].connect("pressed", self, "create_custom_event")
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.set("custom_colors/font_color", get_color("error_color", "Editor"))
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / CustomEventsDocs.icon = get_icon("HelpSearch", "EditorIcons")
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / CustomEventsDocs.connect("pressed", self, "open_custom_event_docs")
nodes["default_join_animation"].connect("about_to_show", self, "_on_AnimationDefault_about_to_show", [nodes["default_join_animation"], "_in"])
nodes["default_leave_animation"].connect("about_to_show", self, "_on_AnimationDefault_about_to_show", [nodes["default_leave_animation"], "out"])
nodes["default_join_animation"].get_popup().connect("index_pressed", self, "_on_AnimationDefault_index_pressed", [nodes["default_join_animation"], "default_join_animation"])
nodes["default_leave_animation"].get_popup().connect("index_pressed", self, "_on_AnimationDefault_index_pressed", [nodes["default_leave_animation"], "default_leave_animation"])
nodes["default_join_animation"].custom_icon = get_icon("Animation", "EditorIcons")
nodes["default_leave_animation"].custom_icon = get_icon("Animation", "EditorIcons")
nodes["default_join_animation_length"].connect("value_changed", self, "_on_AnimationDefaultLength_value_changed", ["default_join_animation_length"])
nodes["default_leave_animation_length"].connect("value_changed", self, "_on_AnimationDefaultLength_value_changed", ["default_leave_animation_length"])
func update_data():
var settings = DialogicResources.get_settings_config()
nodes["themes"].text = DialogicUtil.get_theme_dict()[settings.get_value("theme", "default", "default-theme.cfg")].get("name")
nodes["canvas_layer"].value = int(settings.get_value("theme", "canvas_layer", "1"))
load_values(settings, "input", INPUT_KEYS)
load_values(settings, "history", HISTORY_KEYS)
load_values(settings, "animations", ANIMATION_KEYS)
select_bus(settings.get_value("dialog", "text_event_audio_default_bus", "Master"))
func load_values(settings:ConfigFile, section:String, key:Array):
for k in key:
if settings.has_section_key(section, k):
if nodes[k] is LineEdit:
nodes[k].text = settings.get_value(section, k)
elif nodes[k] is OptionButton or nodes[k] is MenuButton:
nodes[k].text = settings.get_value(section, k)
if section == "animations":
nodes[k].text = DialogicUtil.beautify_filename(nodes[k].text)
elif nodes[k] is SpinBox:
nodes[k].value = settings.get_value(section, k)
else :
nodes[k].pressed = settings.get_value(section, k, false)
func refresh_themes(settings:ConfigFile):
nodes["themes"].clear()
var theme_list = DialogicUtil.get_sorted_theme_list()
var theme_indexes = {}
var index = 0
for theme in theme_list:
nodes["themes"].add_item(theme["name"])
nodes["themes"].set_item_metadata(index, {"file":theme["file"]})
theme_indexes[theme["file"]] = index
index += 1
if index == 1:
set_value("theme", "default", theme_list[0]["file"])
if index > 1:
if settings.has_section_key("theme", "default"):
nodes["themes"].select(theme_indexes[settings.get_value("theme", "default", null)])
else :
set_value("theme", "default", theme_list[0]["file"])
func _on_delay_options_text_changed(text):
set_value("input", "delay_after_options", text)
func _on_item_toggled(value:bool, section:String, key:String):
set_value(section, key, value)
func _on_button_history_button_position_selected(index):
set_value("history", "history_button_position", str(index))
func _spinbox_val_changed(newValue:float, spinbox_name):
set_value("history", spinbox_name, newValue)
func _on_default_action_key_presssed(settingName = "default_action_key")->void :
var settings = DialogicResources.get_settings_config()
nodes[settingName].clear()
nodes[settingName].add_item(settings.get_value("input", settingName, "dialogic_default_action"))
for prop in ProjectSettings.get_property_list():
if prop.name.begins_with("input/"):
nodes[settingName].add_item(prop.name.trim_prefix("input/"))
func _on_hotkey_action_key_presssed(settingName = "choice_hotkey_1")->void :
var settings = DialogicResources.get_settings_config()
nodes[settingName].clear()
nodes[settingName].add_item(settings.get_value("input", settingName, "[None]"))
nodes[settingName].add_item("[None]")
for prop in ProjectSettings.get_property_list():
if prop.name.begins_with("input/"):
nodes[settingName].add_item(prop.name.trim_prefix("input/"))
func _on_default_action_key_item_selected(index, settingName = "default_action_key")->void :
print(nodes[settingName].text)
set_value("input", settingName, nodes[settingName].text)
func _on_canvas_layer_text_changed(text)->void :
set_value("theme", "canvas_layer", text)
func _on_text_changed(text, section:String, key:String)->void :
set_value(section, key, text)
func set_value(section, key, value):
DialogicResources.set_settings_value(section, key, value)
func update_bus_selector():
if nodes["text_event_audio_default_bus"] != null:
var previous_selected_bus_name = ""
if nodes["text_event_audio_default_bus"].get_item_count():
previous_selected_bus_name = nodes["text_event_audio_default_bus"].get_item_text(max(0, nodes["text_event_audio_default_bus"].selected))
nodes["text_event_audio_default_bus"].clear()
for i in range(AudioServer.bus_count):
var bus_name = AudioServer.get_bus_name(i)
nodes["text_event_audio_default_bus"].add_item(bus_name)
if previous_selected_bus_name == bus_name:
nodes["text_event_audio_default_bus"].select(i)
func select_bus(text):
for item_idx in range(nodes["text_event_audio_default_bus"].get_item_count()):
if nodes["text_event_audio_default_bus"].get_item_text(item_idx) == text:
nodes["text_event_audio_default_bus"].select(item_idx)
return
nodes["text_event_audio_default_bus"].select(0)
func _on_text_audio_default_bus_item_selected(index):
var text = nodes["text_event_audio_default_bus"].get_item_text(index)
set_value("dialog", "text_event_audio_default_bus", text)
func open_custom_event_docs():
editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").select_documentation_item("res://addons/dialogic/Documentation/Content/Events/CustomEvents/CreateCustomEvents.md")
func new_custom_event_pressed():
nodes["new_custom_event_section"].show()
nodes["new_custom_event_name"].text = ""
nodes["new_custom_event_directory"].text = ""
nodes["new_custom_event_id"].text = ""
nodes["new_custom_event_create"].disabled = true
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = ""
func custom_event_name_entered(text:String):
nodes["new_custom_event_directory"].text = text
nodes["new_custom_event_create"].disabled = nodes["new_custom_event_id"].text != ""
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = ""
func custom_event_id_entered(text):
if nodes["new_custom_event_name"].text != "":
nodes["new_custom_event_create"].disabled = false
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = ""
func cancel_custom_event():
nodes["new_custom_event_section"].hide()
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = ""
func create_custom_event():
if nodes["new_custom_event_directory"].text.empty():
print("[D] No directory specified!")
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = "Enter a directory name!"
return
if nodes["new_custom_event_name"].text.empty():
print("[D] No name specified!")
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = "Enter a event name!"
return
if nodes["new_custom_event_id"].text.empty():
print("[D] No id specified!")
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = "Enter an id!"
return
var dir_name = "res://dialogic/custom-events/" + nodes["new_custom_event_directory"].text
var dir = Directory.new()
if dir.dir_exists(dir_name):
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = "The folder already exists!"
print("[D] Custom Events folder '" + nodes["new_custom_event_directory"].text + "' already exists!")
return
dir.make_dir(dir_name)
for file in ["EventBlock.tscn", "Stylebox.tres", "EventPart_Example.gd", "EventPart_Example.tscn", "event_yourname_000.gd"]:
dir.copy("res://addons/dialogic/Example Assets/CustomEvents/" + file, dir_name + "/" + file)
var scene = load(dir_name + "/EventPart_Example.tscn")
var scene_instance = scene.instance()
scene_instance.set_script(load(dir_name + "/EventPart_Example.gd"))
var packed_scene = PackedScene.new()
packed_scene.pack(scene_instance)
ResourceSaver.save(dir_name + "/EventPart_Example.tscn", packed_scene)
dir.rename(dir_name + "/event_yourname_000.gd", dir_name + "/event_" + nodes["new_custom_event_id"].text + ".gd")
var event_block_scene = load(dir_name + "/EventBlock.tscn").instance(PackedScene.GEN_EDIT_STATE_INSTANCE)
event_block_scene.event_name = nodes["new_custom_event_name"].text
event_block_scene.event_data = {"event_id":nodes["new_custom_event_id"].text}
event_block_scene.event_icon = load("res://addons/dialogic/Images/Event Icons/Main Icons/custom-event.svg")
var packed = PackedScene.new()
packed.pack(event_block_scene)
ResourceSaver.save(dir_name + "/EventBlock.tscn", packed)
nodes["new_custom_event_section"].hide()
editor_reference.editor_interface.get_resource_filesystem().scan()
$VBoxContainer / HBoxContainer3 / VBoxContainer2 / CustomEvents / HBoxContainer / Message.text = ""
func _on_AnimationDefault_about_to_show(picker, filter):
picker.get_popup().clear()
var animations = DialogicAnimaResources.get_available_animations()
var idx = 0
for animation_name in animations:
if filter in animation_name:
picker.get_popup().add_icon_item(get_icon("Animation", "EditorIcons"), DialogicUtil.beautify_filename(animation_name.get_file()))
picker.get_popup().set_item_metadata(idx, {"file":animation_name.get_file()})
idx += 1
func _on_AnimationDefault_index_pressed(index, picker, key):
set_value("animations", key, picker.get_popup().get_item_metadata(index)["file"])
picker.text = picker.get_popup().get_item_text(index)
func _on_AnimationDefaultLength_value_changed(value, key):
set_value("animations", key, value)
func build_PickerMenu():
nodes["themes"].get_popup().clear()
var folder_structure = DialogicUtil.get_theme_folder_structure()
build_PickerMenuFolder(nodes["themes"].get_popup(), folder_structure, "MenuButton")
func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String):
var index = 0
for folder_name in folder_structure["folders"].keys():
var submenu = PopupMenu.new()
var submenu_name = build_PickerMenuFolder(submenu, folder_structure["folders"][folder_name], folder_name)
submenu.name = submenu_name
menu.add_submenu_item(folder_name, submenu_name)
menu.set_item_icon(index, get_icon("Folder", "EditorIcons"))
menu.add_child(submenu)
nodes["themes"].update_submenu_style(submenu)
index += 1
var files_info = DialogicUtil.get_theme_dict()
for file in folder_structure["files"]:
menu.add_item(files_info[file]["name"])
menu.set_item_icon(index, editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon)
menu.set_item_metadata(index, {"file":file})
index += 1
if not menu.is_connected("index_pressed", self, "_on_ThemePicker_index_pressed"):
menu.connect("index_pressed", self, "_on_ThemePicker_index_pressed", [menu])
return current_folder_name
func _on_ThemePicker_index_pressed(index, menu):
nodes["themes"].text = menu.get_item_text(index)
set_value("theme", "default", menu.get_item_metadata(index)["file"])

View file

@ -0,0 +1,630 @@
[gd_scene load_steps=10 format=2]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.gd" type="Script" id=1]
[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/SettingsCheckbox.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/Scenes/HistorySettings.tscn" type="PackedScene" id=5]
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/ResourcePickerMenu.tscn" type="PackedScene" id=6]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=7]
[sub_resource type="Image" id=1]
data = {
"data": PoolByteArray( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ),
"format": "LumAlpha8",
"height": 16,
"mipmaps": false,
"width": 16
}
[sub_resource type="ImageTexture" id=2]
flags = 4
flags = 4
image = SubResource( 1 )
size = Vector2( 16, 16 )
[node name="SettingsEditor" type="ScrollContainer"]
anchor_right = 1.0
anchor_bottom = 1.0
theme = ExtResource( 7 )
script = ExtResource( 1 )
[node name="VBoxContainer" type="VBoxContainer" parent="."]
margin_right = 1012.0
margin_bottom = 716.0
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer"]
margin_right = 1012.0
margin_bottom = 716.0
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"]
margin_right = 398.0
margin_bottom = 716.0
custom_constants/separation = 16
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"]
margin_right = 398.0
margin_bottom = 78.0
[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer" instance=ExtResource( 2 )]
margin_right = 398.0
text = "Theme"
text_key = "Theme"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"]
margin_top = 26.0
margin_right = 398.0
margin_bottom = 50.0
[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 98.0
margin_bottom = 19.0
text = "Default Theme:"
text_key = "Default"
[node name="ThemePicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer" instance=ExtResource( 6 )]
margin_left = 102.0
margin_right = 251.0
custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 )
text = "Default Theme"
[node name="HBoxContainer3" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer"]
margin_top = 54.0
margin_right = 398.0
margin_bottom = 78.0
[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 83.0
margin_bottom = 19.0
text = "Canvas layer:"
text_key = "Canvas layer:"
[node name="CanvasLayer" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer/HBoxContainer3"]
margin_left = 87.0
margin_right = 163.0
margin_bottom = 24.0
min_value = -999.0
max_value = 999.0
value = 1.0
rounded = true
[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"]
margin_top = 94.0
margin_right = 398.0
margin_bottom = 388.0
[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 2 )]
margin_right = 398.0
text = "Dialog"
text_key = "Dialog"
[node name="SettingsCheckbox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 26.0
margin_right = 398.0
margin_bottom = 50.0
text = "New lines will create extra messages"
default = true
settings_section = "dialog"
settings_key = "new_lines"
[node name="SettingsCheckbox2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 54.0
margin_right = 398.0
margin_bottom = 78.0
text = "Remove empty messages"
default = true
settings_section = "dialog"
settings_key = "remove_empty_messages"
[node name="SettingsCheckbox3" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 82.0
margin_right = 398.0
margin_bottom = 106.0
text = "Auto color character names in messages"
default = true
settings_section = "dialog"
settings_key = "auto_color_names"
[node name="SettingsCheckbox5" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 110.0
margin_right = 398.0
margin_bottom = 134.0
hint_tooltip = "If disabled, background images use \"Aspect covered\" mode."
text = "Stretch background images "
default = true
settings_section = "dialog"
settings_key = "stretch_backgrounds"
[node name="SettingsCheckbox8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 138.0
margin_right = 398.0
margin_bottom = 162.0
hint_tooltip = "Re-center portrait on each change (1.4+ behavior)"
text = "Re-center portrait on each change (1.4+ behavior)"
default = true
settings_section = "dialog"
settings_key = "recenter_portrait"
[node name="HSeparator2" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"]
margin_top = 166.0
margin_right = 398.0
margin_bottom = 170.0
[node name="TLabel6" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 174.0
margin_right = 398.0
margin_bottom = 188.0
text = "Audio for Text events:"
text_key = "Audio for Text events:"
[node name="SettingsCheckbox6" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 192.0
margin_right = 398.0
margin_bottom = 216.0
text = "Enable audio for Text events"
settings_section = "dialog"
settings_key = "text_event_audio_enable"
[node name="TextAudioDefaultBus" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"]
margin_top = 220.0
margin_right = 398.0
margin_bottom = 240.0
[node name="TLabel8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 204.0
margin_bottom = 17.0
text = "Default bus for Text event audio"
text_key = "Default bus for Text event audio"
[node name="AudioBus" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2/TextAudioDefaultBus"]
margin_left = 208.0
margin_right = 281.0
margin_bottom = 20.0
text = "Master"
items = [ "Master", null, false, 0, null ]
selected = 0
[node name="HSeparator" type="HSeparator" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2"]
margin_top = 244.0
margin_right = 398.0
margin_bottom = 248.0
[node name="TLabel9" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 252.0
margin_right = 398.0
margin_bottom = 266.0
text = "Experimental Translations:"
text_key = "Experimental Translations:"
[node name="SettingsCheckbox7" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer2" instance=ExtResource( 4 )]
margin_top = 270.0
margin_right = 398.0
margin_bottom = 294.0
text = "Inputs for text events will be treated as keys for tr()"
settings_section = "dialog"
settings_key = "translations"
[node name="VBoxContainer3" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"]
margin_top = 404.0
margin_right = 398.0
margin_bottom = 454.0
[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3" instance=ExtResource( 2 )]
margin_right = 398.0
text = "Game saving"
text_key = "Saving"
[node name="SettingsCheckbox8" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer3" instance=ExtResource( 4 )]
margin_top = 26.0
margin_right = 398.0
margin_bottom = 50.0
text = "Autosave"
default = true
settings_section = "saving"
settings_key = "autosave"
[node name="VBoxContainer4" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer"]
margin_top = 470.0
margin_right = 398.0
margin_bottom = 548.0
[node name="SectionTitle2" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4" instance=ExtResource( 2 )]
margin_right = 398.0
text = "Animations"
text_key = "Animations"
[node name="DefaultJoinAnimation" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4"]
margin_top = 26.0
margin_right = 398.0
margin_bottom = 50.0
[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 212.0
margin_bottom = 19.0
size_flags_horizontal = 3
text = "Default Join Animation:"
text_key = "Default Join Animation:"
[node name="JoinAnimationPicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation" instance=ExtResource( 6 )]
margin_left = 216.0
margin_right = 318.0
custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 )
text = "Fade In"
[node name="AnimationLengthPicker" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultJoinAnimation"]
margin_left = 322.0
margin_right = 398.0
margin_bottom = 24.0
step = 0.01
value = 0.5
[node name="DefaultLeaveAnimation" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4"]
margin_top = 54.0
margin_right = 398.0
margin_bottom = 78.0
[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 161.0
margin_bottom = 19.0
size_flags_horizontal = 3
text = "Default Leave Animation:"
text_key = "Default Leave Animation:"
[node name="LeaveAnimationPicker" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation" instance=ExtResource( 6 )]
margin_left = 165.0
margin_right = 318.0
custom_colors/font_color = Color( 0.8, 0.807843, 0.827451, 1 )
text = "Fade Out Down"
[node name="AnimationLengthPicker" type="SpinBox" parent="VBoxContainer/HBoxContainer3/VBoxContainer/VBoxContainer4/DefaultLeaveAnimation"]
margin_left = 322.0
margin_right = 398.0
margin_bottom = 24.0
step = 0.01
value = 0.5
[node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3"]
margin_left = 402.0
margin_right = 738.0
margin_bottom = 716.0
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"]
margin_right = 336.0
margin_bottom = 310.0
[node name="SectionTitle2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 2 )]
margin_right = 336.0
text = "Input"
text_key = "Input"
[node name="SettingsCheckbox2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 26.0
margin_right = 336.0
margin_bottom = 50.0
text = "Autofocus choice buttons"
settings_section = "input"
settings_key = "autofocus_choices"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 54.0
margin_right = 336.0
margin_bottom = 78.0
[node name="TLabel14" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 181.0
margin_bottom = 19.0
text = "Enable choice options after "
text_key = "Enable choice options after "
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer"]
margin_left = 185.0
margin_right = 245.0
margin_bottom = 24.0
text = "0.2"
[node name="TLabel15" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_left = 249.0
margin_top = 5.0
margin_right = 306.0
margin_bottom = 19.0
text = " seconds"
text_key = " seconds"
[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 82.0
margin_right = 336.0
margin_bottom = 102.0
[node name="TLabel16" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 115.0
margin_bottom = 17.0
text = "Default action key"
text_key = "Default action key"
[node name="DefaultActionKey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer2"]
margin_left = 119.0
margin_right = 292.0
margin_bottom = 20.0
hint_tooltip = "The default value is \"ui_accept\""
[node name="SettingsCheckbox" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 106.0
margin_right = 336.0
margin_bottom = 130.0
text = "Tap area covers full screen"
default = true
settings_section = "input"
settings_key = "clicking_dialog_action"
[node name="SettingsCheckbox3" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 134.0
margin_right = 336.0
margin_bottom = 158.0
text = "Enable default choice hotkeys"
settings_section = "input"
settings_key = "enable_default_shortcut"
[node name="HBoxContainer4" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 162.0
margin_right = 336.0
margin_bottom = 182.0
alignment = 2
[node name="TLabel18" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 102.0
margin_bottom = 17.0
text = "Choice 1 hotkey"
text_key = "Choice 1 hotkey"
[node name="Choice1Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer4"]
margin_left = 106.0
margin_right = 336.0
margin_bottom = 20.0
hint_tooltip = "The default value is No Hotkey"
size_flags_horizontal = 3
text = "[None]"
[node name="HBoxContainer5" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 186.0
margin_right = 336.0
margin_bottom = 206.0
alignment = 2
[node name="TLabel19" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 102.0
margin_bottom = 17.0
text = "Choice 2 hotkey"
text_key = "Choice 2 hotkey"
[node name="Choice2Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer5"]
margin_left = 106.0
margin_right = 336.0
margin_bottom = 20.0
hint_tooltip = "The default value is No Hotkey"
size_flags_horizontal = 3
text = "dialogic_setction"
[node name="HBoxContainer6" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 210.0
margin_right = 336.0
margin_bottom = 230.0
alignment = 2
[node name="TLabel20" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 102.0
margin_bottom = 17.0
text = "Choice 3 hotkey"
text_key = "Choice 3 hotkey"
[node name="Choice3Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer6"]
margin_left = 106.0
margin_right = 336.0
margin_bottom = 20.0
hint_tooltip = "The default value is No Hotkey"
size_flags_horizontal = 3
text = "[None]"
[node name="HBoxContainer7" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer"]
margin_top = 234.0
margin_right = 336.0
margin_bottom = 254.0
alignment = 2
[node name="TLabel21" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 3.0
margin_right = 102.0
margin_bottom = 17.0
text = "Choice 4 hotkey"
text_key = "Choice 4 hotkey"
[node name="Choice4Hotkey" type="OptionButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer/HBoxContainer7"]
margin_left = 106.0
margin_right = 336.0
margin_bottom = 20.0
hint_tooltip = "The default value is No Hotkey"
size_flags_horizontal = 3
text = "[None]"
[node name="SettingsCheckbox4" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 258.0
margin_right = 336.0
margin_bottom = 282.0
text = "Propagate input to rest of the Tree"
default = true
settings_section = "dialog"
settings_key = "propagate_input"
[node name="SettingsCheckbox5" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/VBoxContainer" instance=ExtResource( 4 )]
margin_top = 286.0
margin_right = 336.0
margin_bottom = 310.0
text = "Stop Mouse Clicks"
default = true
settings_section = "dialog"
settings_key = "stop_mouse"
[node name="HistorySettings" parent="VBoxContainer/HBoxContainer3/VBoxContainer2" instance=ExtResource( 5 )]
margin_top = 314.0
margin_right = 336.0
margin_bottom = 658.0
[node name="CustomEvents" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"]
margin_top = 662.0
margin_right = 336.0
margin_bottom = 712.0
[node name="SectionTitle" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents" instance=ExtResource( 2 )]
margin_right = 336.0
text = "Custom events"
text_key = "Custom events"
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"]
margin_top = 26.0
margin_right = 336.0
margin_bottom = 50.0
[node name="Message" type="Label" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"]
margin_top = 5.0
margin_right = 260.0
margin_bottom = 19.0
size_flags_horizontal = 3
custom_colors/font_color = Color( 0, 0, 0, 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="NewCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"]
margin_left = 264.0
margin_right = 304.0
margin_bottom = 24.0
text = "New"
[node name="CustomEventsDocs" type="ToolButton" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/HBoxContainer"]
margin_left = 308.0
margin_right = 336.0
margin_bottom = 24.0
icon = SubResource( 2 )
[node name="CreateCustomEventSection" type="GridContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents"]
visible = false
margin_top = 54.0
margin_right = 304.0
margin_bottom = 158.0
columns = 2
[node name="TLabel" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 5.0
margin_right = 105.0
margin_bottom = 19.0
text = "Event Name:"
text_key = "Event Name:"
[node name="CeName" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"]
margin_left = 109.0
margin_right = 304.0
margin_bottom = 24.0
size_flags_horizontal = 3
[node name="TLabel2" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 33.0
margin_right = 105.0
margin_bottom = 47.0
text = "Directory Name:"
text_key = "Directory Name:"
[node name="CeDirectory" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"]
margin_left = 109.0
margin_top = 28.0
margin_right = 304.0
margin_bottom = 52.0
size_flags_horizontal = 3
[node name="TLabel3" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection" instance=ExtResource( 3 )]
anchor_right = 0.0
anchor_bottom = 0.0
margin_top = 61.0
margin_right = 105.0
margin_bottom = 75.0
text = "Event id:"
text_key = "Event id:"
[node name="CeEventId" type="LineEdit" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"]
margin_left = 109.0
margin_top = 56.0
margin_right = 304.0
margin_bottom = 80.0
size_flags_horizontal = 3
placeholder_text = "myname_001"
[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"]
margin_top = 84.0
margin_right = 105.0
margin_bottom = 104.0
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection"]
margin_left = 109.0
margin_top = 84.0
margin_right = 304.0
margin_bottom = 104.0
alignment = 2
[node name="CreateCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"]
margin_left = 84.0
margin_right = 137.0
margin_bottom = 20.0
text = "Create"
[node name="CancelCustomEvent" type="Button" parent="VBoxContainer/HBoxContainer3/VBoxContainer2/CustomEvents/CreateCustomEventSection/HBoxContainer"]
margin_left = 141.0
margin_right = 195.0
margin_bottom = 20.0
text = "Cancel"
[node name="CustomEvents" type="VBoxContainer" parent="VBoxContainer/HBoxContainer3/VBoxContainer2"]
margin_top = 716.0
margin_right = 336.0
margin_bottom = 716.0