added a talking rock
This commit is contained in:
1134
addons/dialogue_manager/views/main_view.gd
Normal file
1134
addons/dialogue_manager/views/main_view.gd
Normal file
File diff suppressed because it is too large
Load Diff
431
addons/dialogue_manager/views/main_view.tscn
Normal file
431
addons/dialogue_manager/views/main_view.tscn
Normal file
@@ -0,0 +1,431 @@
|
||||
[gd_scene load_steps=16 format=3 uid="uid://cbuf1q3xsse3q"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/dialogue_manager/views/main_view.gd" id="1_h6qfq"]
|
||||
[ext_resource type="PackedScene" uid="uid://civ6shmka5e8u" path="res://addons/dialogue_manager/components/code_edit.tscn" id="2_f73fm"]
|
||||
[ext_resource type="PackedScene" uid="uid://dnufpcdrreva3" path="res://addons/dialogue_manager/components/files_list.tscn" id="2_npj2k"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctns6ouwwd68i" path="res://addons/dialogue_manager/components/title_list.tscn" id="2_onb4i"]
|
||||
[ext_resource type="PackedScene" uid="uid://co8yl23idiwbi" path="res://addons/dialogue_manager/components/update_button.tscn" id="2_ph3vs"]
|
||||
[ext_resource type="PackedScene" uid="uid://gr8nakpbrhby" path="res://addons/dialogue_manager/components/search_and_replace.tscn" id="6_ylh0t"]
|
||||
[ext_resource type="PackedScene" uid="uid://cs8pwrxr5vxix" path="res://addons/dialogue_manager/components/errors_panel.tscn" id="7_5cvl4"]
|
||||
[ext_resource type="Script" path="res://addons/dialogue_manager/components/code_edit_syntax_highlighter.gd" id="7_necsa"]
|
||||
[ext_resource type="PackedScene" uid="uid://cpg4lg1r3ff6m" path="res://addons/dialogue_manager/views/settings_view.tscn" id="9_8bf36"]
|
||||
[ext_resource type="PackedScene" uid="uid://0n7hwviyyly4" path="res://addons/dialogue_manager/components/find_in_files.tscn" id="10_yold3"]
|
||||
|
||||
[sub_resource type="Image" id="Image_w5tip"]
|
||||
data = {
|
||||
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
|
||||
"format": "RGBA8",
|
||||
"height": 16,
|
||||
"mipmaps": false,
|
||||
"width": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id="ImageTexture_wmrmd"]
|
||||
image = SubResource("Image_w5tip")
|
||||
|
||||
[sub_resource type="Image" id="Image_ki84n"]
|
||||
data = {
|
||||
"data": PackedByteArray(255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 94, 94, 127, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 231, 255, 94, 94, 54, 255, 94, 94, 57, 255, 93, 93, 233, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 93, 93, 41, 255, 255, 255, 0, 255, 255, 255, 0, 255, 97, 97, 42, 255, 93, 93, 233, 255, 93, 93, 232, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 44, 255, 255, 255, 0, 255, 97, 97, 42, 255, 97, 97, 42, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 96, 96, 45, 255, 93, 93, 235, 255, 94, 94, 234, 255, 95, 95, 43, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 93, 93, 235, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 233, 255, 95, 95, 59, 255, 96, 96, 61, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 93, 93, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0),
|
||||
"format": "RGBA8",
|
||||
"height": 16,
|
||||
"mipmaps": false,
|
||||
"width": 16
|
||||
}
|
||||
|
||||
[sub_resource type="ImageTexture" id="ImageTexture_r0npg"]
|
||||
image = SubResource("Image_ki84n")
|
||||
|
||||
[sub_resource type="SyntaxHighlighter" id="SyntaxHighlighter_4re8k"]
|
||||
script = ExtResource("7_necsa")
|
||||
|
||||
[node name="MainView" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_h6qfq")
|
||||
|
||||
[node name="ParseTimer" type="Timer" parent="."]
|
||||
|
||||
[node name="Margin" type="MarginContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/margin_left = 5
|
||||
theme_override_constants/margin_right = 5
|
||||
theme_override_constants/margin_bottom = 5
|
||||
metadata/_edit_layout_mode = 1
|
||||
|
||||
[node name="Content" type="HSplitContainer" parent="Margin"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="SidePanel" type="VBoxContainer" parent="Margin/Content"]
|
||||
custom_minimum_size = Vector2(150, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="Toolbar" type="HBoxContainer" parent="Margin/Content/SidePanel"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="NewButton" type="Button" parent="Margin/Content/SidePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Start a new file"
|
||||
flat = true
|
||||
|
||||
[node name="OpenButton" type="MenuButton" parent="Margin/Content/SidePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Open a file"
|
||||
item_count = 9
|
||||
popup/item_0/text = "Open..."
|
||||
popup/item_0/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_0/id = 100
|
||||
popup/item_1/text = ""
|
||||
popup/item_1/id = -1
|
||||
popup/item_1/separator = true
|
||||
popup/item_2/text = "res://blah.dialogue"
|
||||
popup/item_2/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_2/id = 2
|
||||
popup/item_3/text = "res://examples/dialogue.dialogue"
|
||||
popup/item_3/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_3/id = 3
|
||||
popup/item_4/text = "res://examples/dialogue_with_input.dialogue"
|
||||
popup/item_4/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_4/id = 4
|
||||
popup/item_5/text = "res://examples/dialogue_for_point_n_click.dialogue"
|
||||
popup/item_5/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_5/id = 5
|
||||
popup/item_6/text = "res://examples/dialogue_for_visual_novel.dialogue"
|
||||
popup/item_6/icon = SubResource("ImageTexture_wmrmd")
|
||||
popup/item_6/id = 6
|
||||
popup/item_7/text = ""
|
||||
popup/item_7/id = -1
|
||||
popup/item_7/separator = true
|
||||
popup/item_8/text = "Clear recent files"
|
||||
popup/item_8/id = 101
|
||||
|
||||
[node name="SaveAllButton" type="Button" parent="Margin/Content/SidePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
disabled = true
|
||||
flat = true
|
||||
|
||||
[node name="FindInFilesButton" type="Button" parent="Margin/Content/SidePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Find in files..."
|
||||
flat = true
|
||||
|
||||
[node name="Bookmarks" type="VSplitContainer" parent="Margin/Content/SidePanel"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="FilesList" parent="Margin/Content/SidePanel/Bookmarks" instance=ExtResource("2_npj2k")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="FilesPopupMenu" type="PopupMenu" parent="Margin/Content/SidePanel/Bookmarks/FilesList"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="TitleList" parent="Margin/Content/SidePanel/Bookmarks" instance=ExtResource("2_onb4i")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CodePanel" type="VBoxContainer" parent="Margin/Content"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_stretch_ratio = 4.0
|
||||
|
||||
[node name="Toolbar" type="HBoxContainer" parent="Margin/Content/CodePanel"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="InsertButton" type="MenuButton" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Insert"
|
||||
item_count = 15
|
||||
popup/item_0/text = "Wave BBCode"
|
||||
popup/item_0/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "Shake BBCode"
|
||||
popup/item_1/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_1/id = 1
|
||||
popup/item_2/text = ""
|
||||
popup/item_2/id = -1
|
||||
popup/item_2/separator = true
|
||||
popup/item_3/text = "Typing pause"
|
||||
popup/item_3/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_3/id = 3
|
||||
popup/item_4/text = "Typing speed change"
|
||||
popup/item_4/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_4/id = 4
|
||||
popup/item_5/text = "Auto advance"
|
||||
popup/item_5/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_5/id = 5
|
||||
popup/item_6/text = "Templates"
|
||||
popup/item_6/id = -1
|
||||
popup/item_6/separator = true
|
||||
popup/item_7/text = "Title"
|
||||
popup/item_7/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_7/id = 6
|
||||
popup/item_8/text = "Dialogue"
|
||||
popup/item_8/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_8/id = 7
|
||||
popup/item_9/text = "Response"
|
||||
popup/item_9/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_9/id = 8
|
||||
popup/item_10/text = "Random lines"
|
||||
popup/item_10/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_10/id = 9
|
||||
popup/item_11/text = "Random text"
|
||||
popup/item_11/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_11/id = 10
|
||||
popup/item_12/text = "Actions"
|
||||
popup/item_12/id = -1
|
||||
popup/item_12/separator = true
|
||||
popup/item_13/text = "Jump to title"
|
||||
popup/item_13/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_13/id = 11
|
||||
popup/item_14/text = "End dialogue"
|
||||
popup/item_14/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_14/id = 12
|
||||
|
||||
[node name="TranslationsButton" type="MenuButton" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Translations"
|
||||
item_count = 5
|
||||
popup/item_0/text = "Generate line IDs"
|
||||
popup/item_0/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_0/id = 100
|
||||
popup/item_1/text = ""
|
||||
popup/item_1/id = -1
|
||||
popup/item_1/separator = true
|
||||
popup/item_2/text = "Save character names to CSV..."
|
||||
popup/item_2/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_2/id = 201
|
||||
popup/item_3/text = "Save lines to CSV..."
|
||||
popup/item_3/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_3/id = 202
|
||||
popup/item_4/text = "Import line changes from CSV..."
|
||||
popup/item_4/icon = SubResource("ImageTexture_r0npg")
|
||||
popup/item_4/id = 203
|
||||
|
||||
[node name="Separator" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SearchButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Search for text"
|
||||
toggle_mode = true
|
||||
flat = true
|
||||
|
||||
[node name="TestButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Test dialogue"
|
||||
flat = true
|
||||
|
||||
[node name="Separator3" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SettingsButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Settings"
|
||||
flat = true
|
||||
|
||||
[node name="Spacer2" type="Control" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="SupportButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
tooltip_text = "Support Dialogue Manager"
|
||||
text = "Sponsor"
|
||||
flat = true
|
||||
|
||||
[node name="Separator4" type="VSeparator" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="DocsButton" type="Button" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Docs"
|
||||
flat = true
|
||||
|
||||
[node name="VersionLabel" type="Label" parent="Margin/Content/CodePanel/Toolbar"]
|
||||
unique_name_in_owner = true
|
||||
modulate = Color(1, 1, 1, 0.490196)
|
||||
layout_mode = 2
|
||||
text = "v2.41.3"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="UpdateButton" parent="Margin/Content/CodePanel/Toolbar" instance=ExtResource("2_ph3vs")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SearchAndReplace" parent="Margin/Content/CodePanel" instance=ExtResource("6_ylh0t")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CodeEdit" parent="Margin/Content/CodePanel" instance=ExtResource("2_f73fm")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_colors/background_color = Color(0.156863, 0.164706, 0.211765, 1)
|
||||
theme_override_colors/font_color = Color(0.972549, 0.972549, 0.94902, 1)
|
||||
theme_override_colors/bookmark_color = Color(1, 0.333333, 0.333333, 1)
|
||||
theme_override_colors/current_line_color = Color(0.266667, 0.278431, 0.352941, 0.243137)
|
||||
theme_override_font_sizes/font_size = 21
|
||||
text = "~ this_is_a_node_title
|
||||
|
||||
Nathan: [[Hi|Hello|Howdy]], this is some dialogue.
|
||||
Nathan: Here are some choices.
|
||||
- First one
|
||||
Nathan: You picked the first one.
|
||||
- Second one
|
||||
Nathan: You picked the second one.
|
||||
- Start again => this_is_a_node_title
|
||||
- End the conversation => END
|
||||
Nathan: For more information see the online documentation.
|
||||
|
||||
=> END"
|
||||
scroll_smooth = true
|
||||
syntax_highlighter = SubResource("SyntaxHighlighter_4re8k")
|
||||
|
||||
[node name="ErrorsPanel" parent="Margin/Content/CodePanel" instance=ExtResource("7_5cvl4")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="NewDialog" type="FileDialog" parent="."]
|
||||
size = Vector2i(900, 750)
|
||||
min_size = Vector2i(900, 750)
|
||||
dialog_hide_on_ok = true
|
||||
filters = PackedStringArray("*.dialogue ; Dialogue")
|
||||
|
||||
[node name="SaveDialog" type="FileDialog" parent="."]
|
||||
size = Vector2i(900, 750)
|
||||
min_size = Vector2i(900, 750)
|
||||
dialog_hide_on_ok = true
|
||||
filters = PackedStringArray("*.dialogue ; Dialogue")
|
||||
|
||||
[node name="OpenDialog" type="FileDialog" parent="."]
|
||||
title = "Open a File"
|
||||
size = Vector2i(900, 750)
|
||||
min_size = Vector2i(900, 750)
|
||||
ok_button_text = "Open"
|
||||
dialog_hide_on_ok = true
|
||||
file_mode = 0
|
||||
filters = PackedStringArray("*.dialogue ; Dialogue")
|
||||
|
||||
[node name="ExportDialog" type="FileDialog" parent="."]
|
||||
size = Vector2i(900, 750)
|
||||
min_size = Vector2i(900, 750)
|
||||
|
||||
[node name="ImportDialog" type="FileDialog" parent="."]
|
||||
title = "Open a File"
|
||||
size = Vector2i(900, 750)
|
||||
min_size = Vector2i(900, 750)
|
||||
ok_button_text = "Open"
|
||||
file_mode = 0
|
||||
filters = PackedStringArray("*.csv ; Translation CSV")
|
||||
|
||||
[node name="ErrorsDialog" type="AcceptDialog" parent="."]
|
||||
title = "Error"
|
||||
dialog_text = "You have errors in your script. Fix them and then try again."
|
||||
|
||||
[node name="SettingsDialog" type="AcceptDialog" parent="."]
|
||||
title = "Settings"
|
||||
size = Vector2i(1500, 900)
|
||||
unresizable = true
|
||||
min_size = Vector2i(1500, 900)
|
||||
max_size = Vector2i(1500, 900)
|
||||
ok_button_text = "Done"
|
||||
|
||||
[node name="SettingsView" parent="SettingsDialog" instance=ExtResource("9_8bf36")]
|
||||
offset_left = 8.0
|
||||
offset_top = 8.0
|
||||
offset_right = -8.0
|
||||
offset_bottom = -49.0
|
||||
current_tab = 0
|
||||
|
||||
[node name="BuildErrorDialog" type="AcceptDialog" parent="."]
|
||||
title = "Errors"
|
||||
dialog_text = "You need to fix dialogue errors before you can run your game."
|
||||
|
||||
[node name="CloseConfirmationDialog" type="ConfirmationDialog" parent="."]
|
||||
title = "Unsaved changes"
|
||||
ok_button_text = "Save changes"
|
||||
|
||||
[node name="UpdatedDialog" type="AcceptDialog" parent="."]
|
||||
title = "Updated"
|
||||
size = Vector2i(191, 100)
|
||||
dialog_text = "You're now up to date!"
|
||||
|
||||
[node name="FindInFilesDialog" type="AcceptDialog" parent="."]
|
||||
title = "Find in files"
|
||||
size = Vector2i(1200, 900)
|
||||
min_size = Vector2i(1200, 900)
|
||||
ok_button_text = "Done"
|
||||
|
||||
[node name="FindInFiles" parent="FindInFilesDialog" node_paths=PackedStringArray("main_view", "code_edit") instance=ExtResource("10_yold3")]
|
||||
custom_minimum_size = Vector2(400, 400)
|
||||
offset_left = 8.0
|
||||
offset_top = 8.0
|
||||
offset_right = -8.0
|
||||
offset_bottom = -49.0
|
||||
main_view = NodePath("../..")
|
||||
code_edit = NodePath("../../Margin/Content/CodePanel/CodeEdit")
|
||||
|
||||
[connection signal="theme_changed" from="." to="." method="_on_main_view_theme_changed"]
|
||||
[connection signal="visibility_changed" from="." to="." method="_on_main_view_visibility_changed"]
|
||||
[connection signal="timeout" from="ParseTimer" to="." method="_on_parse_timer_timeout"]
|
||||
[connection signal="pressed" from="Margin/Content/SidePanel/Toolbar/NewButton" to="." method="_on_new_button_pressed"]
|
||||
[connection signal="about_to_popup" from="Margin/Content/SidePanel/Toolbar/OpenButton" to="." method="_on_open_button_about_to_popup"]
|
||||
[connection signal="pressed" from="Margin/Content/SidePanel/Toolbar/SaveAllButton" to="." method="_on_save_all_button_pressed"]
|
||||
[connection signal="pressed" from="Margin/Content/SidePanel/Toolbar/FindInFilesButton" to="." method="_on_find_in_files_button_pressed"]
|
||||
[connection signal="file_middle_clicked" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_middle_clicked"]
|
||||
[connection signal="file_popup_menu_requested" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_popup_menu_requested"]
|
||||
[connection signal="file_selected" from="Margin/Content/SidePanel/Bookmarks/FilesList" to="." method="_on_files_list_file_selected"]
|
||||
[connection signal="about_to_popup" from="Margin/Content/SidePanel/Bookmarks/FilesList/FilesPopupMenu" to="." method="_on_files_popup_menu_about_to_popup"]
|
||||
[connection signal="id_pressed" from="Margin/Content/SidePanel/Bookmarks/FilesList/FilesPopupMenu" to="." method="_on_files_popup_menu_id_pressed"]
|
||||
[connection signal="title_selected" from="Margin/Content/SidePanel/Bookmarks/TitleList" to="." method="_on_title_list_title_selected"]
|
||||
[connection signal="toggled" from="Margin/Content/CodePanel/Toolbar/SearchButton" to="." method="_on_search_button_toggled"]
|
||||
[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/TestButton" to="." method="_on_test_button_pressed"]
|
||||
[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/SettingsButton" to="." method="_on_settings_button_pressed"]
|
||||
[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/SupportButton" to="." method="_on_support_button_pressed"]
|
||||
[connection signal="pressed" from="Margin/Content/CodePanel/Toolbar/DocsButton" to="." method="_on_docs_button_pressed"]
|
||||
[connection signal="close_requested" from="Margin/Content/CodePanel/SearchAndReplace" to="." method="_on_search_and_replace_close_requested"]
|
||||
[connection signal="open_requested" from="Margin/Content/CodePanel/SearchAndReplace" to="." method="_on_search_and_replace_open_requested"]
|
||||
[connection signal="active_title_change" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_active_title_change"]
|
||||
[connection signal="caret_changed" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_caret_changed"]
|
||||
[connection signal="error_clicked" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_error_clicked"]
|
||||
[connection signal="external_file_requested" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_external_file_requested"]
|
||||
[connection signal="text_changed" from="Margin/Content/CodePanel/CodeEdit" to="." method="_on_code_edit_text_changed"]
|
||||
[connection signal="error_pressed" from="Margin/Content/CodePanel/ErrorsPanel" to="." method="_on_errors_panel_error_pressed"]
|
||||
[connection signal="file_selected" from="NewDialog" to="." method="_on_new_dialog_file_selected"]
|
||||
[connection signal="file_selected" from="SaveDialog" to="." method="_on_save_dialog_file_selected"]
|
||||
[connection signal="file_selected" from="OpenDialog" to="." method="_on_open_dialog_file_selected"]
|
||||
[connection signal="file_selected" from="ExportDialog" to="." method="_on_export_dialog_file_selected"]
|
||||
[connection signal="file_selected" from="ImportDialog" to="." method="_on_import_dialog_file_selected"]
|
||||
[connection signal="confirmed" from="SettingsDialog" to="." method="_on_settings_dialog_confirmed"]
|
||||
[connection signal="script_button_pressed" from="SettingsDialog/SettingsView" to="." method="_on_settings_view_script_button_pressed"]
|
||||
[connection signal="confirmed" from="CloseConfirmationDialog" to="." method="_on_close_confirmation_dialog_confirmed"]
|
||||
[connection signal="custom_action" from="CloseConfirmationDialog" to="." method="_on_close_confirmation_dialog_custom_action"]
|
||||
[connection signal="result_selected" from="FindInFilesDialog/FindInFiles" to="." method="_on_find_in_files_result_selected"]
|
280
addons/dialogue_manager/views/settings_view.gd
Normal file
280
addons/dialogue_manager/views/settings_view.gd
Normal file
@@ -0,0 +1,280 @@
|
||||
@tool
|
||||
extends TabContainer
|
||||
|
||||
|
||||
signal script_button_pressed(path: String)
|
||||
|
||||
|
||||
const DialogueConstants = preload("../constants.gd")
|
||||
const DialogueSettings = preload("../settings.gd")
|
||||
const BaseDialogueTestScene = preload("../test_scene.gd")
|
||||
|
||||
|
||||
enum PathTarget {
|
||||
CustomTestScene,
|
||||
Balloon
|
||||
}
|
||||
|
||||
|
||||
# Editor
|
||||
@onready var new_template_button: CheckBox = $Editor/NewTemplateButton
|
||||
@onready var characters_translations_button: CheckBox = $Editor/CharactersTranslationsButton
|
||||
@onready var wrap_lines_button: Button = $Editor/WrapLinesButton
|
||||
@onready var default_csv_locale: LineEdit = $Editor/DefaultCSVLocale
|
||||
|
||||
# Runtime
|
||||
@onready var include_all_responses_button: CheckBox = $Runtime/IncludeAllResponsesButton
|
||||
@onready var ignore_missing_state_values: CheckBox = $Runtime/IgnoreMissingStateValues
|
||||
@onready var balloon_path_input: LineEdit = $Runtime/CustomBalloon/BalloonPath
|
||||
@onready var revert_balloon_button: Button = $Runtime/CustomBalloon/RevertBalloonPath
|
||||
@onready var load_balloon_button: Button = $Runtime/CustomBalloon/LoadBalloonPath
|
||||
@onready var states_title: Label = $Runtime/StatesTitle
|
||||
@onready var globals_list: Tree = $Runtime/GlobalsList
|
||||
|
||||
# Advanced
|
||||
@onready var check_for_updates: CheckBox = $Advanced/CheckForUpdates
|
||||
@onready var include_characters_in_translations: CheckBox = $Advanced/IncludeCharactersInTranslations
|
||||
@onready var include_notes_in_translations: CheckBox = $Advanced/IncludeNotesInTranslations
|
||||
@onready var open_in_external_editor_button: CheckBox = $Advanced/OpenInExternalEditorButton
|
||||
@onready var test_scene_path_input: LineEdit = $Advanced/CustomTestScene/TestScenePath
|
||||
@onready var revert_test_scene_button: Button = $Advanced/CustomTestScene/RevertTestScene
|
||||
@onready var load_test_scene_button: Button = $Advanced/CustomTestScene/LoadTestScene
|
||||
@onready var custom_test_scene_file_dialog: FileDialog = $CustomTestSceneFileDialog
|
||||
@onready var create_lines_for_response_characters: CheckBox = $Advanced/CreateLinesForResponseCharacters
|
||||
@onready var missing_translations_button: CheckBox = $Advanced/MissingTranslationsButton
|
||||
|
||||
var all_globals: Dictionary = {}
|
||||
var enabled_globals: Array = []
|
||||
var path_target: PathTarget = PathTarget.CustomTestScene
|
||||
|
||||
var _default_test_scene_path: String = preload("../test_scene.tscn").resource_path
|
||||
|
||||
var _recompile_if_changed_settings: Dictionary
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
new_template_button.text = DialogueConstants.translate(&"settings.new_template")
|
||||
$Editor/MissingTranslationsHint.text = DialogueConstants.translate(&"settings.missing_keys_hint")
|
||||
characters_translations_button.text = DialogueConstants.translate(&"settings.characters_translations")
|
||||
wrap_lines_button.text = DialogueConstants.translate(&"settings.wrap_long_lines")
|
||||
$Editor/DefaultCSVLocaleLabel.text = DialogueConstants.translate(&"settings.default_csv_locale")
|
||||
|
||||
include_all_responses_button.text = DialogueConstants.translate(&"settings.include_failed_responses")
|
||||
ignore_missing_state_values.text = DialogueConstants.translate(&"settings.ignore_missing_state_values")
|
||||
$Runtime/CustomBalloonLabel.text = DialogueConstants.translate(&"settings.default_balloon_hint")
|
||||
states_title.text = DialogueConstants.translate(&"settings.states_shortcuts")
|
||||
$Runtime/StatesMessage.text = DialogueConstants.translate(&"settings.states_message")
|
||||
$Runtime/StatesHint.text = DialogueConstants.translate(&"settings.states_hint")
|
||||
|
||||
check_for_updates.text = DialogueConstants.translate(&"settings.check_for_updates")
|
||||
include_characters_in_translations.text = DialogueConstants.translate(&"settings.include_characters_in_translations")
|
||||
include_notes_in_translations.text = DialogueConstants.translate(&"settings.include_notes_in_translations")
|
||||
open_in_external_editor_button.text = DialogueConstants.translate(&"settings.open_in_external_editor")
|
||||
$Advanced/ExternalWarning.text = DialogueConstants.translate(&"settings.external_editor_warning")
|
||||
$Advanced/CustomTestSceneLabel.text = DialogueConstants.translate(&"settings.custom_test_scene")
|
||||
$Advanced/RecompileWarning.text = DialogueConstants.translate(&"settings.recompile_warning")
|
||||
missing_translations_button.text = DialogueConstants.translate(&"settings.missing_keys")
|
||||
create_lines_for_response_characters.text = DialogueConstants.translate(&"settings.create_lines_for_responses_with_characters")
|
||||
|
||||
current_tab = 0
|
||||
|
||||
|
||||
func prepare() -> void:
|
||||
_recompile_if_changed_settings = _get_settings_that_require_recompilation()
|
||||
|
||||
test_scene_path_input.placeholder_text = DialogueSettings.get_setting("custom_test_scene_path", _default_test_scene_path)
|
||||
revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path
|
||||
revert_test_scene_button.icon = get_theme_icon("RotateLeft", "EditorIcons")
|
||||
revert_test_scene_button.tooltip_text = DialogueConstants.translate(&"settings.revert_to_default_test_scene")
|
||||
load_test_scene_button.icon = get_theme_icon("Load", "EditorIcons")
|
||||
|
||||
var balloon_path: String = DialogueSettings.get_setting("balloon_path", "")
|
||||
if not FileAccess.file_exists(balloon_path):
|
||||
DialogueSettings.set_setting("balloon_path", "")
|
||||
balloon_path = ""
|
||||
balloon_path_input.placeholder_text = balloon_path if balloon_path != "" else DialogueConstants.translate(&"settings.default_balloon_path")
|
||||
revert_balloon_button.visible = balloon_path != ""
|
||||
revert_balloon_button.icon = get_theme_icon("RotateLeft", "EditorIcons")
|
||||
revert_balloon_button.tooltip_text = DialogueConstants.translate(&"settings.revert_to_default_balloon")
|
||||
load_balloon_button.icon = get_theme_icon("Load", "EditorIcons")
|
||||
|
||||
var scale: float = Engine.get_meta("DialogueManagerPlugin").get_editor_interface().get_editor_scale()
|
||||
custom_test_scene_file_dialog.min_size = Vector2(600, 500) * scale
|
||||
|
||||
states_title.add_theme_font_override("font", get_theme_font("bold", "EditorFonts"))
|
||||
|
||||
check_for_updates.set_pressed_no_signal(DialogueSettings.get_user_value("check_for_updates", true))
|
||||
characters_translations_button.set_pressed_no_signal(DialogueSettings.get_setting("export_characters_in_translation", true))
|
||||
wrap_lines_button.set_pressed_no_signal(DialogueSettings.get_setting("wrap_lines", false))
|
||||
include_all_responses_button.set_pressed_no_signal(DialogueSettings.get_setting("include_all_responses", false))
|
||||
ignore_missing_state_values.set_pressed_no_signal(DialogueSettings.get_setting("ignore_missing_state_values", false))
|
||||
new_template_button.set_pressed_no_signal(DialogueSettings.get_setting("new_with_template", true))
|
||||
default_csv_locale.text = DialogueSettings.get_setting("default_csv_locale", "en")
|
||||
|
||||
missing_translations_button.set_pressed_no_signal(DialogueSettings.get_setting("missing_translations_are_errors", false))
|
||||
create_lines_for_response_characters.set_pressed_no_signal(DialogueSettings.get_setting("create_lines_for_responses_with_characters", true))
|
||||
|
||||
include_characters_in_translations.set_pressed_no_signal(DialogueSettings.get_setting("include_character_in_translation_exports", false))
|
||||
include_notes_in_translations.set_pressed_no_signal(DialogueSettings.get_setting("include_notes_in_translation_exports", false))
|
||||
open_in_external_editor_button.set_pressed_no_signal(DialogueSettings.get_user_value("open_in_external_editor", false))
|
||||
|
||||
var editor_settings: EditorSettings = Engine.get_meta("DialogueManagerPlugin").get_editor_interface().get_editor_settings()
|
||||
var external_editor: String = editor_settings.get_setting("text_editor/external/exec_path")
|
||||
var use_external_editor: bool = editor_settings.get_setting("text_editor/external/use_external_editor") and external_editor != ""
|
||||
if not use_external_editor:
|
||||
open_in_external_editor_button.hide()
|
||||
$Advanced/ExternalWarning.hide()
|
||||
$Advanced/ExternalSeparator.hide()
|
||||
|
||||
var project = ConfigFile.new()
|
||||
var err = project.load("res://project.godot")
|
||||
assert(err == OK, "Could not find the project file")
|
||||
|
||||
all_globals.clear()
|
||||
if project.has_section("autoload"):
|
||||
for key in project.get_section_keys("autoload"):
|
||||
if key != "DialogueManager":
|
||||
all_globals[key] = project.get_value("autoload", key)
|
||||
|
||||
enabled_globals = DialogueSettings.get_setting("states", []).duplicate()
|
||||
globals_list.clear()
|
||||
var root = globals_list.create_item()
|
||||
for name in all_globals.keys():
|
||||
var item: TreeItem = globals_list.create_item(root)
|
||||
item.set_cell_mode(0, TreeItem.CELL_MODE_CHECK)
|
||||
item.set_checked(0, name in enabled_globals)
|
||||
item.set_text(0, name)
|
||||
item.add_button(1, get_theme_icon("Edit", "EditorIcons"))
|
||||
item.set_text(2, all_globals.get(name, "").replace("*res://", "res://"))
|
||||
|
||||
globals_list.set_column_expand(0, false)
|
||||
globals_list.set_column_custom_minimum_width(0, 250)
|
||||
globals_list.set_column_expand(1, false)
|
||||
globals_list.set_column_custom_minimum_width(1, 40)
|
||||
globals_list.set_column_titles_visible(true)
|
||||
globals_list.set_column_title(0, DialogueConstants.translate(&"settings.autoload"))
|
||||
globals_list.set_column_title(1, "")
|
||||
globals_list.set_column_title(2, DialogueConstants.translate(&"settings.path"))
|
||||
|
||||
|
||||
func apply_settings_changes() -> void:
|
||||
if _recompile_if_changed_settings != _get_settings_that_require_recompilation():
|
||||
Engine.get_meta("DialogueCache").reimport_files()
|
||||
|
||||
|
||||
func _get_settings_that_require_recompilation() -> Dictionary:
|
||||
return DialogueSettings.get_settings([
|
||||
"missing_translations_are_errors",
|
||||
"create_lines_for_responses_with_characters"
|
||||
])
|
||||
|
||||
|
||||
### Signals
|
||||
|
||||
|
||||
func _on_missing_translations_button_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("missing_translations_are_errors", toggled_on)
|
||||
|
||||
|
||||
func _on_characters_translations_button_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("export_characters_in_translation", toggled_on)
|
||||
|
||||
|
||||
func _on_wrap_lines_button_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("wrap_lines", toggled_on)
|
||||
|
||||
|
||||
func _on_include_all_responses_button_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("include_all_responses", toggled_on)
|
||||
|
||||
|
||||
func _on_globals_list_item_selected() -> void:
|
||||
var item = globals_list.get_selected()
|
||||
var is_checked = not item.is_checked(0)
|
||||
item.set_checked(0, is_checked)
|
||||
|
||||
if is_checked:
|
||||
enabled_globals.append(item.get_text(0))
|
||||
else:
|
||||
enabled_globals.erase(item.get_text(0))
|
||||
|
||||
DialogueSettings.set_setting("states", enabled_globals)
|
||||
|
||||
|
||||
func _on_globals_list_button_clicked(item: TreeItem, column: int, id: int, mouse_button_index: int) -> void:
|
||||
emit_signal("script_button_pressed", item.get_text(2))
|
||||
|
||||
|
||||
func _on_sample_template_toggled(toggled_on):
|
||||
DialogueSettings.set_setting("new_with_template", toggled_on)
|
||||
|
||||
|
||||
func _on_revert_test_scene_pressed() -> void:
|
||||
DialogueSettings.set_setting("custom_test_scene_path", _default_test_scene_path)
|
||||
test_scene_path_input.placeholder_text = _default_test_scene_path
|
||||
revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path
|
||||
|
||||
|
||||
func _on_load_test_scene_pressed() -> void:
|
||||
path_target = PathTarget.CustomTestScene
|
||||
custom_test_scene_file_dialog.popup_centered()
|
||||
|
||||
|
||||
func _on_custom_test_scene_file_dialog_file_selected(path: String) -> void:
|
||||
match path_target:
|
||||
PathTarget.CustomTestScene:
|
||||
# Check that the test scene is a subclass of BaseDialogueTestScene
|
||||
var test_scene: PackedScene = load(path)
|
||||
if test_scene and test_scene.instantiate() is BaseDialogueTestScene:
|
||||
DialogueSettings.set_setting("custom_test_scene_path", path)
|
||||
test_scene_path_input.placeholder_text = path
|
||||
revert_test_scene_button.visible = test_scene_path_input.placeholder_text != _default_test_scene_path
|
||||
else:
|
||||
var accept: AcceptDialog = AcceptDialog.new()
|
||||
accept.dialog_text = DialogueConstants.translate(&"settings.invalid_test_scene").format({ path = path })
|
||||
add_child(accept)
|
||||
accept.popup_centered.call_deferred()
|
||||
|
||||
PathTarget.Balloon:
|
||||
DialogueSettings.set_setting("balloon_path", path)
|
||||
balloon_path_input.placeholder_text = path
|
||||
revert_balloon_button.visible = balloon_path_input.placeholder_text != ""
|
||||
|
||||
|
||||
func _on_ignore_missing_state_values_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("ignore_missing_state_values", toggled_on)
|
||||
|
||||
|
||||
func _on_default_csv_locale_text_changed(new_text: String) -> void:
|
||||
DialogueSettings.set_setting("default_csv_locale", new_text)
|
||||
|
||||
|
||||
func _on_revert_balloon_path_pressed() -> void:
|
||||
DialogueSettings.set_setting("balloon_path", "")
|
||||
balloon_path_input.placeholder_text = DialogueConstants.translate(&"settings.default_balloon_path")
|
||||
revert_balloon_button.visible = DialogueSettings.get_setting("balloon_path", "") != ""
|
||||
|
||||
|
||||
func _on_load_balloon_path_pressed() -> void:
|
||||
path_target = PathTarget.Balloon
|
||||
custom_test_scene_file_dialog.popup_centered()
|
||||
|
||||
|
||||
func _on_create_lines_for_response_characters_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("create_lines_for_responses_with_characters", toggled_on)
|
||||
|
||||
|
||||
func _on_open_in_external_editor_button_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_user_value("open_in_external_editor", toggled_on)
|
||||
|
||||
|
||||
func _on_include_characters_in_translations_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("include_character_in_translation_exports", toggled_on)
|
||||
|
||||
|
||||
func _on_include_notes_in_translations_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_setting("include_notes_in_translation_exports", toggled_on)
|
||||
|
||||
|
||||
func _on_keep_up_to_date_toggled(toggled_on: bool) -> void:
|
||||
DialogueSettings.set_user_value("check_for_updates", toggled_on)
|
221
addons/dialogue_manager/views/settings_view.tscn
Normal file
221
addons/dialogue_manager/views/settings_view.tscn
Normal file
@@ -0,0 +1,221 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cpg4lg1r3ff6m"]
|
||||
|
||||
[ext_resource type="Script" path="res://addons/dialogue_manager/views/settings_view.gd" id="1_06uxa"]
|
||||
|
||||
[sub_resource type="Theme" id="Theme_3a8rc"]
|
||||
HSeparator/constants/separation = 20
|
||||
|
||||
[node name="SettingsView" type="TabContainer"]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_right = -206.0
|
||||
offset_bottom = -345.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = SubResource("Theme_3a8rc")
|
||||
current_tab = 2
|
||||
script = ExtResource("1_06uxa")
|
||||
|
||||
[node name="Editor" type="VBoxContainer" parent="."]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="NewTemplateButton" type="CheckBox" parent="Editor"]
|
||||
layout_mode = 2
|
||||
button_pressed = true
|
||||
text = "New dialogue files will start with template text"
|
||||
|
||||
[node name="MissingTranslationsHint" type="Label" parent="Editor"]
|
||||
modulate = Color(1, 1, 1, 0.501961)
|
||||
custom_minimum_size = Vector2(10, 0)
|
||||
layout_mode = 2
|
||||
text = "If you are using static translation keys then having this enabled will help you find any lines that you haven't added a key to yet."
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="CharactersTranslationsButton" type="CheckBox" parent="Editor"]
|
||||
layout_mode = 2
|
||||
button_pressed = true
|
||||
text = "Export character names in translation files"
|
||||
|
||||
[node name="WrapLinesButton" type="CheckBox" parent="Editor"]
|
||||
layout_mode = 2
|
||||
button_pressed = true
|
||||
text = "Wrap long lines"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="Editor"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="DefaultCSVLocaleLabel" type="Label" parent="Editor"]
|
||||
layout_mode = 2
|
||||
text = "Default CSV Locale"
|
||||
|
||||
[node name="DefaultCSVLocale" type="LineEdit" parent="Editor"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Runtime" type="VBoxContainer" parent="."]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IncludeAllResponsesButton" type="CheckBox" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
text = "Include responses with failed conditions"
|
||||
|
||||
[node name="IgnoreMissingStateValues" type="CheckBox" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
text = "Skip over missing state value errors (not recommended)"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CustomBalloonLabel" type="Label" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
text = "Custom balloon to use when calling \"DialogueManager.show_balloon()\""
|
||||
|
||||
[node name="CustomBalloon" type="HBoxContainer" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="BalloonPath" type="LineEdit" parent="Runtime/CustomBalloon"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_mode = 0
|
||||
editable = false
|
||||
shortcut_keys_enabled = false
|
||||
middle_mouse_paste_enabled = false
|
||||
|
||||
[node name="RevertBalloonPath" type="Button" parent="Runtime/CustomBalloon"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
tooltip_text = "Revert to default test scene"
|
||||
flat = true
|
||||
|
||||
[node name="LoadBalloonPath" type="Button" parent="Runtime/CustomBalloon"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="StatesTitle" type="Label" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
text = "State Shortcuts"
|
||||
|
||||
[node name="StatesMessage" type="Label" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
text = "If an autoload is enabled here you can refer to its properties and methods without having to use its name."
|
||||
|
||||
[node name="StatesHint" type="Label" parent="Runtime"]
|
||||
modulate = Color(1, 1, 1, 0.501961)
|
||||
custom_minimum_size = Vector2(10, 0)
|
||||
layout_mode = 2
|
||||
text = "ie. Instead of \"SomeState.some_property\" you could just use \"some_property\""
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="GlobalsList" type="Tree" parent="Runtime"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
columns = 3
|
||||
column_titles_visible = true
|
||||
allow_reselect = true
|
||||
hide_folding = true
|
||||
hide_root = true
|
||||
select_mode = 1
|
||||
|
||||
[node name="Advanced" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CheckForUpdates" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Check for updates"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="IncludeCharactersInTranslations" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Include character names in translation exports"
|
||||
|
||||
[node name="IncludeNotesInTranslations" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Include notes (## comments) in translation exports"
|
||||
|
||||
[node name="ExternalSeparator" type="HSeparator" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="OpenInExternalEditorButton" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Open dialogue files in external editor"
|
||||
|
||||
[node name="ExternalWarning" type="Label" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Note: Syntax highlighting and detailed error checking are not supported in external editors."
|
||||
|
||||
[node name="HSeparator3" type="HSeparator" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CustomTestSceneLabel" type="Label" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Custom test scene (must extend BaseDialogueTestScene)"
|
||||
|
||||
[node name="CustomTestScene" type="HBoxContainer" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TestScenePath" type="LineEdit" parent="Advanced/CustomTestScene"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
focus_mode = 0
|
||||
placeholder_text = "res://addons/dialogue_manager/test_scene.tscn"
|
||||
editable = false
|
||||
shortcut_keys_enabled = false
|
||||
middle_mouse_paste_enabled = false
|
||||
|
||||
[node name="RevertTestScene" type="Button" parent="Advanced/CustomTestScene"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
tooltip_text = "Revert to default test scene"
|
||||
flat = true
|
||||
|
||||
[node name="LoadTestScene" type="Button" parent="Advanced/CustomTestScene"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HSeparator4" type="HSeparator" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="RecompileWarning" type="Label" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Changing these settings will force a recompile of all dialogue. Only change them if you know what you are doing."
|
||||
|
||||
[node name="MissingTranslationsButton" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Treat missing translation keys as errors"
|
||||
|
||||
[node name="CreateLinesForResponseCharacters" type="CheckBox" parent="Advanced"]
|
||||
layout_mode = 2
|
||||
text = "Create child dialogue line for responses with character names in them"
|
||||
|
||||
[node name="CustomTestSceneFileDialog" type="FileDialog" parent="."]
|
||||
title = "Open a File"
|
||||
ok_button_text = "Open"
|
||||
file_mode = 0
|
||||
filters = PackedStringArray("*.tscn ; Scene")
|
||||
|
||||
[connection signal="toggled" from="Editor/NewTemplateButton" to="." method="_on_sample_template_toggled"]
|
||||
[connection signal="toggled" from="Editor/CharactersTranslationsButton" to="." method="_on_characters_translations_button_toggled"]
|
||||
[connection signal="toggled" from="Editor/WrapLinesButton" to="." method="_on_wrap_lines_button_toggled"]
|
||||
[connection signal="text_changed" from="Editor/DefaultCSVLocale" to="." method="_on_default_csv_locale_text_changed"]
|
||||
[connection signal="toggled" from="Runtime/IncludeAllResponsesButton" to="." method="_on_include_all_responses_button_toggled"]
|
||||
[connection signal="toggled" from="Runtime/IgnoreMissingStateValues" to="." method="_on_ignore_missing_state_values_toggled"]
|
||||
[connection signal="pressed" from="Runtime/CustomBalloon/RevertBalloonPath" to="." method="_on_revert_balloon_path_pressed"]
|
||||
[connection signal="pressed" from="Runtime/CustomBalloon/LoadBalloonPath" to="." method="_on_load_balloon_path_pressed"]
|
||||
[connection signal="button_clicked" from="Runtime/GlobalsList" to="." method="_on_globals_list_button_clicked"]
|
||||
[connection signal="item_selected" from="Runtime/GlobalsList" to="." method="_on_globals_list_item_selected"]
|
||||
[connection signal="toggled" from="Advanced/CheckForUpdates" to="." method="_on_keep_up_to_date_toggled"]
|
||||
[connection signal="toggled" from="Advanced/IncludeCharactersInTranslations" to="." method="_on_include_characters_in_translations_toggled"]
|
||||
[connection signal="toggled" from="Advanced/IncludeNotesInTranslations" to="." method="_on_include_notes_in_translations_toggled"]
|
||||
[connection signal="toggled" from="Advanced/OpenInExternalEditorButton" to="." method="_on_open_in_external_editor_button_toggled"]
|
||||
[connection signal="pressed" from="Advanced/CustomTestScene/RevertTestScene" to="." method="_on_revert_test_scene_pressed"]
|
||||
[connection signal="pressed" from="Advanced/CustomTestScene/LoadTestScene" to="." method="_on_load_test_scene_pressed"]
|
||||
[connection signal="toggled" from="Advanced/MissingTranslationsButton" to="." method="_on_missing_translations_button_toggled"]
|
||||
[connection signal="toggled" from="Advanced/CreateLinesForResponseCharacters" to="." method="_on_create_lines_for_response_characters_toggled"]
|
||||
[connection signal="file_selected" from="CustomTestSceneFileDialog" to="." method="_on_custom_test_scene_file_dialog_file_selected"]
|
Reference in New Issue
Block a user