Initial Android commit
5
.gitignore
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
.assets/
|
||||||
|
.import/
|
||||||
|
.mono/
|
||||||
|
**/.DS_Store
|
||||||
|
**/*.import
|
29
CustomTooltip.tscn
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://resources/fonts/TimesNewerRoman-Regular.otf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=1]
|
||||||
|
size = 35
|
||||||
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id=2]
|
||||||
|
bg_color = Color( 0, 0, 0, 1 )
|
||||||
|
border_width_left = 3
|
||||||
|
border_width_top = 3
|
||||||
|
border_width_right = 3
|
||||||
|
border_width_bottom = 3
|
||||||
|
border_color = Color( 1, 1, 1, 1 )
|
||||||
|
border_blend = true
|
||||||
|
|
||||||
|
[node name="Node" type="Control"]
|
||||||
|
|
||||||
|
[node name="Node2D" type="Node2D" parent="."]
|
||||||
|
z_index = 4096
|
||||||
|
z_as_relative = false
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Node2D"]
|
||||||
|
margin_left = 25.0
|
||||||
|
margin_bottom = 49.0
|
||||||
|
custom_fonts/font = SubResource( 1 )
|
||||||
|
custom_styles/normal = SubResource( 2 )
|
||||||
|
text = "new tooltip"
|
34
CustomTooltipInGame.tscn
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://resources/fonts/TimesNewerRoman-Regular.otf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=1]
|
||||||
|
size = 85
|
||||||
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id=2]
|
||||||
|
bg_color = Color( 0, 0, 0, 1 )
|
||||||
|
border_width_left = 3
|
||||||
|
border_width_top = 3
|
||||||
|
border_width_right = 3
|
||||||
|
border_width_bottom = 3
|
||||||
|
border_color = Color( 1, 1, 1, 1 )
|
||||||
|
border_blend = true
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
|
||||||
|
[node name="Node2D" type="Node2D" parent="."]
|
||||||
|
position = Vector2( 1, -66 )
|
||||||
|
z_index = 4096
|
||||||
|
z_as_relative = false
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Node2D"]
|
||||||
|
margin_left = 16.0
|
||||||
|
margin_top = -96.0
|
||||||
|
margin_right = 183.0
|
||||||
|
margin_bottom = 13.0
|
||||||
|
custom_fonts/font = SubResource( 1 )
|
||||||
|
custom_styles/normal = SubResource( 2 )
|
||||||
|
text = "new"
|
0
Fonts/Overlock/Overlock-Black.ttf
Normal file
17
addons/dialogic/Dialog.tscn
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Plugin/placeholder.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Nodes/DialogProxy.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[node name="Dialog" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
margin_right = 40.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
texture = ExtResource( 1 )
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 6 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 7.5 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 8 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 9.6 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 9.3 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 3 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 113 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 8 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 76 KiB |
202
addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
extends Node
|
||||||
|
|
||||||
|
var heading1_font = "res://addons/dialogic/Documentation/Theme/DocumentationH1.tres"
|
||||||
|
var heading2_font = "res://addons/dialogic/Documentation/Theme/DocumentationH2.tres"
|
||||||
|
var heading3_font = "res://addons/dialogic/Documentation/Theme/DocumentationH3.tres"
|
||||||
|
var heading4_font = "res://addons/dialogic/Documentation/Theme/DocumentationH4.tres"
|
||||||
|
var heading5_font = "res://addons/dialogic/Documentation/Theme/DocumentationH5.tres"
|
||||||
|
|
||||||
|
|
||||||
|
var heading1s = []
|
||||||
|
var heading2s = []
|
||||||
|
var heading3s = []
|
||||||
|
var heading4s = []
|
||||||
|
var heading5s = []
|
||||||
|
var result = ""
|
||||||
|
var bolded = []
|
||||||
|
var italics = []
|
||||||
|
var striked = []
|
||||||
|
var coded = []
|
||||||
|
var linknames = []
|
||||||
|
var links = []
|
||||||
|
var imagenames = []
|
||||||
|
var imagelinks = []
|
||||||
|
var lists = []
|
||||||
|
var underlined = []
|
||||||
|
|
||||||
|
var accent_color: = Color()
|
||||||
|
var sub_accent_color: = Color()
|
||||||
|
|
||||||
|
var editor_scale: = 1.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func set_accent_colors(new_accent_color:Color, new_sub_accent_color:Color)->void :
|
||||||
|
accent_color = new_accent_color
|
||||||
|
sub_accent_color = new_sub_accent_color
|
||||||
|
|
||||||
|
|
||||||
|
func parse(content:String, file_path:String = "", docs_path:String = ""):
|
||||||
|
|
||||||
|
heading1s = []
|
||||||
|
heading2s = []
|
||||||
|
heading3s = []
|
||||||
|
heading4s = []
|
||||||
|
heading5s = []
|
||||||
|
result = ""
|
||||||
|
bolded = []
|
||||||
|
italics = []
|
||||||
|
striked = []
|
||||||
|
coded = []
|
||||||
|
linknames = []
|
||||||
|
links = []
|
||||||
|
imagenames = []
|
||||||
|
imagelinks = []
|
||||||
|
lists = []
|
||||||
|
underlined = []
|
||||||
|
|
||||||
|
var parsed_text = content
|
||||||
|
|
||||||
|
var regex = RegEx.new()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("\\*\\*(?<boldtext>(\\.|[^(\\*\\*)])*)\\*\\*")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
parsed_text = parsed_text.replace("**" + res.get_string("boldtext") + "**", "[b]" + res.get_string("boldtext") + "[/b]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("\\_\\_(?<underlinetext>.*)\\_\\_")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
parsed_text = parsed_text.replace("__" + res.get_string("underlinetext") + "__", "[u]" + res.get_string("underlinetext") + "[/u]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("\\*(?<italictext>[^\\*]*)\\*")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
parsed_text = parsed_text.replace("*" + res.get_string("italictext") + "*", "[i]" + res.get_string("italictext") + "[/i]")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("~~(?<strikedtext>.*)~~")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
parsed_text = parsed_text.replace("~~" + res.get_string("strikedtext") + "~~", "[s]" + res.get_string("strikedtext") + "[/s]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(([^`]`)|(```))(?<coded>[^`]+)(?(2)(`)|(```))")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
if res.get_string().begins_with("```"):
|
||||||
|
parsed_text = parsed_text.replace("```" + res.get_string("coded") + "```", "[indent][color=#" + accent_color.lightened(0.6).to_html() + "][code]" + res.get_string("coded") + "[/code][/color][/indent]")
|
||||||
|
else :
|
||||||
|
parsed_text = parsed_text.replace("`" + res.get_string("coded") + "`", "[color=#" + accent_color.lightened(0.6).to_html() + "][code]" + res.get_string("coded") + "[/code][/color]")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("\\n\\s*(?<symbol>[-+*])(?<element>\\s.*)")
|
||||||
|
result = regex.search_all(parsed_text)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var symbol = res.get_string("symbol")
|
||||||
|
var element = res.get_string("element")
|
||||||
|
if parsed_text.find(symbol + " " + element):
|
||||||
|
parsed_text = parsed_text.replace(symbol + " " + element, "[indent]" + symbol + " " + element + "[/indent]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("!\\[(?<imgname>.*)\\]\\((?<imglink>.*)\\)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
if res.get_string("imglink") != "":
|
||||||
|
imagelinks.append(res.get_string("imglink"))
|
||||||
|
if res.get_string("imgname") != "":
|
||||||
|
imagenames.append(res.get_string("imgname"))
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("[^!]\\[(?<linkname>[^\\[]+)\\]\\((?<link>[^\\)]*\\S*?)\\)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
if res.get_string("link") != "":
|
||||||
|
links.append(res.get_string("link"))
|
||||||
|
if res.get_string("linkname") != "":
|
||||||
|
linknames.append(res.get_string("linkname"))
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(?:\\n|^)#(?<heading>[^#\\n]+[^\\n]+)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var heading = res.get_string("heading")
|
||||||
|
heading1s.append(heading)
|
||||||
|
parsed_text = parsed_text.replace("#" + heading, "[color=#" + accent_color.lightened(0.2).to_html() + "][font=" + heading1_font + "]" + heading.strip_edges() + "[/font][/color]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(?:\\n|^)##(?<heading>[^#\\n]+[^\\n]+)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var heading = res.get_string("heading")
|
||||||
|
heading2s.append(heading)
|
||||||
|
parsed_text = parsed_text.replace("\n##" + heading, "\n[color=#" + accent_color.lightened(0.5).to_html() + "][font=" + heading2_font + "]" + heading.strip_edges() + "[/font][/color]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(?:\\n|^)###(?<heading>[^#\\n]+[^\\n]+)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var heading = res.get_string("heading")
|
||||||
|
parsed_text = parsed_text.replace("\n###" + heading, "\n[color=#" + accent_color.lightened(0.7).to_html() + "][font=" + heading3_font + "]" + heading.strip_edges() + "[/font][/color]")
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(?:\\n|^)####(?<heading>[^#\\n]+[^\\n]+)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var heading = res.get_string("heading")
|
||||||
|
parsed_text = parsed_text.replace("\n####" + heading, "\n[color=#" + accent_color.lightened(0.85).to_html() + "][font=" + heading4_font + "]" + heading.strip_edges() + "[/font][/color]")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
regex.compile("(?:\\n|^)#####(?<heading>[^#\\n]+[^\\n]+)")
|
||||||
|
result = regex.search_all(content)
|
||||||
|
if result:
|
||||||
|
for res in result:
|
||||||
|
var heading = res.get_string("heading")
|
||||||
|
parsed_text = parsed_text.replace("\n#####" + heading, "\n[color=#" + accent_color.lightened(0.85).to_html() + "][font=" + heading5_font + "]" + heading.strip_edges() + "[/font][/color]")
|
||||||
|
|
||||||
|
for i in links.size():
|
||||||
|
parsed_text = parsed_text.replace("[" + linknames[i] + "](" + links[i] + ")", "[color=#" + accent_color.to_html() + "][url=" + links[i] + "]" + linknames[i] + "[/url][/color]")
|
||||||
|
|
||||||
|
for i in imagenames.size():
|
||||||
|
var imagelink_to_use = imagelinks[i]
|
||||||
|
if imagelink_to_use.begins_with("http"):
|
||||||
|
var path_parts = imagelink_to_use.split("/Documentation/")
|
||||||
|
if path_parts.size() > 1:
|
||||||
|
imagelink_to_use = docs_path + "/" + path_parts[1]
|
||||||
|
else :
|
||||||
|
imagelink_to_use = "icon.png"
|
||||||
|
if imagelink_to_use.begins_with(".") and file_path:
|
||||||
|
imagelink_to_use = file_path.trim_suffix(file_path.get_file()).trim_suffix("/") + imagelink_to_use.trim_prefix(".")
|
||||||
|
parsed_text = parsed_text.replace("![" + imagenames[i] + "](" + imagelinks[i] + ")", "[img=" + str(int(700 * editor_scale)) + "]" + imagelink_to_use + "[/img]")
|
||||||
|
|
||||||
|
parsed_text += "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
|
||||||
|
|
||||||
|
return parsed_text
|
205
addons/dialogic/Documentation/Nodes/DocsPageViewer.gd
Normal file
|
@ -0,0 +1,205 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
export (bool) var enable_editing = false
|
||||||
|
|
||||||
|
export (String) var documentation_path:String = "res://addons/dialogic/Documentation"
|
||||||
|
var MarkdownParser = load("res://addons/dialogic/Documentation/Nodes/DocsMarkdownParser.gd").new()
|
||||||
|
|
||||||
|
var current_path:String = ""
|
||||||
|
var current_headings = []
|
||||||
|
|
||||||
|
onready var Content = $Content
|
||||||
|
|
||||||
|
signal open_non_html_link(link, section)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func load_page(page_path:String, section:String = ""):
|
||||||
|
Content.set("custom_styles/normal", StyleBoxEmpty.new())
|
||||||
|
Content.get("custom_styles/normal").content_margin_left = 15
|
||||||
|
Content.get("custom_styles/normal").content_margin_top = 15
|
||||||
|
Content.get("custom_styles/normal").content_margin_right = 15
|
||||||
|
Content.get("custom_styles/normal").content_margin_bottom = 15
|
||||||
|
|
||||||
|
var base_size = 16
|
||||||
|
Content.set("custom_fonts/normal_font/size", int(base_size * get_constant("scale", "Editor")))
|
||||||
|
Content.set("custom_fonts/bold_font/size", int(base_size * get_constant("scale", "Editor")))
|
||||||
|
|
||||||
|
Content.set("custom_fonts/mono_font/size", int(base_size * get_constant("scale", "Editor")))
|
||||||
|
Content.set("custom_fonts/bold_italics_font/size", int(base_size * get_constant("scale", "Editor")))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Content.set("custom_fonts/mono_font", get_font("doc_source", "EditorFonts"))
|
||||||
|
Content.set("custom_fonts/bold_font", Content.get_font("doc_bold", "EditorFonts"))
|
||||||
|
|
||||||
|
MarkdownParser.set_accent_colors(get_color("accent_color", "Editor"), get_color("disabled_font_color", "Editor"))
|
||||||
|
|
||||||
|
if page_path == "" and not section:
|
||||||
|
return
|
||||||
|
|
||||||
|
show()
|
||||||
|
_on_Content_resized()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if page_path.count("#") > 0:
|
||||||
|
var result = page_path.split("#")
|
||||||
|
page_path = result[0]
|
||||||
|
section = "#" + result[1]
|
||||||
|
|
||||||
|
|
||||||
|
if not page_path.begins_with("res://"):
|
||||||
|
page_path = documentation_path + "/Content/" + page_path
|
||||||
|
if not page_path.ends_with(".md"):
|
||||||
|
page_path += ".md"
|
||||||
|
|
||||||
|
|
||||||
|
var f = File.new()
|
||||||
|
f.open(page_path, File.READ)
|
||||||
|
current_path = page_path
|
||||||
|
|
||||||
|
|
||||||
|
Content.bbcode_text = MarkdownParser.parse(f.get_as_text(), current_path, documentation_path)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
|
current_headings = MarkdownParser.heading1s + MarkdownParser.heading2s + MarkdownParser.heading3s + MarkdownParser.heading4s + MarkdownParser.heading5s
|
||||||
|
create_content_menu(MarkdownParser.heading1s + MarkdownParser.heading2s)
|
||||||
|
|
||||||
|
|
||||||
|
if not scroll_to_section(section):
|
||||||
|
Content.scroll_to_line(0)
|
||||||
|
|
||||||
|
|
||||||
|
yield (get_tree(), "idle_frame")
|
||||||
|
_on_Up_pressed()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func scroll_to_section(title):
|
||||||
|
if not title:
|
||||||
|
return
|
||||||
|
|
||||||
|
for heading in current_headings:
|
||||||
|
if (heading.to_lower().strip_edges().replace(" ", "-") == title.replace("#", "")) or (heading.to_lower().strip_edges() == title.to_lower().strip_edges()):
|
||||||
|
var x = Content.bbcode_text.find(heading.replace("#", "").strip_edges() + "[/font]")
|
||||||
|
x = Content.bbcode_text.count("\n", 0, x)
|
||||||
|
Content.scroll_to_line(x)
|
||||||
|
|
||||||
|
$ContentMenu / Panel.hide()
|
||||||
|
|
||||||
|
return true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
$Up.icon = get_icon("ArrowUp", "EditorIcons")
|
||||||
|
|
||||||
|
$Editing.visible = enable_editing
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func create_content_menu(headings):
|
||||||
|
for child in $ContentMenu / Panel / VBox.get_children():
|
||||||
|
child.queue_free()
|
||||||
|
if len(headings) < 2:
|
||||||
|
$ContentMenu.hide()
|
||||||
|
return
|
||||||
|
$ContentMenu.show()
|
||||||
|
headings.pop_front()
|
||||||
|
for heading in headings:
|
||||||
|
var button = Button.new()
|
||||||
|
button.set("custom_styles/normal", get_stylebox("sub_inspector_bg0", "Editor"))
|
||||||
|
button.text = heading
|
||||||
|
button.align = Button.ALIGN_LEFT
|
||||||
|
button.connect("pressed", self, "content_button_pressed", [heading])
|
||||||
|
$ContentMenu / Panel / VBox.add_child(button)
|
||||||
|
|
||||||
|
|
||||||
|
func content_button_pressed(heading):
|
||||||
|
scroll_to_section(heading)
|
||||||
|
$ContentMenu / ToggleContents.pressed = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_meta_clicked(meta):
|
||||||
|
|
||||||
|
if meta.begins_with("http"):
|
||||||
|
|
||||||
|
|
||||||
|
if meta.count("Documentation/Content") > 0:
|
||||||
|
meta = meta.split("Documentation/Content")[1]
|
||||||
|
|
||||||
|
|
||||||
|
else :
|
||||||
|
OS.shell_open(meta)
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
if meta.begins_with("#"):
|
||||||
|
|
||||||
|
scroll_to_section(meta)
|
||||||
|
|
||||||
|
|
||||||
|
else :
|
||||||
|
|
||||||
|
var link = meta
|
||||||
|
var section = null
|
||||||
|
if meta.count("#") > 0:
|
||||||
|
var split = meta.split("#")
|
||||||
|
link = split[0]
|
||||||
|
section = split[1]
|
||||||
|
if link.begins_with("."):
|
||||||
|
link = current_path.trim_suffix(current_path.get_file()).trim_suffix("/") + link.trim_prefix(".")
|
||||||
|
if not link.begins_with("res://"):
|
||||||
|
link = documentation_path.plus_file("Content").plus_file(link)
|
||||||
|
if not link.ends_with(".md"):
|
||||||
|
link += ".md"
|
||||||
|
|
||||||
|
emit_signal("open_non_html_link", link, section)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_EditPage_pressed():
|
||||||
|
var x = File.new()
|
||||||
|
x.open(current_path, File.READ)
|
||||||
|
OS.shell_open(x.get_path_absolute())
|
||||||
|
|
||||||
|
|
||||||
|
func _on_RefreshPage_pressed():
|
||||||
|
load_page(current_path)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_Up_pressed():
|
||||||
|
Content.scroll_to_line(0)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_ToggleContents_toggled(button_pressed):
|
||||||
|
$ContentMenu / Panel.visible = button_pressed
|
||||||
|
|
||||||
|
func toggle_editing():
|
||||||
|
enable_editing = not enable_editing
|
||||||
|
$Editing.visible = enable_editing
|
||||||
|
|
||||||
|
func _on_Content_resized():
|
||||||
|
if not Content:return
|
||||||
|
if Content.rect_size.x < 500:
|
||||||
|
Content.get("custom_styles/normal").content_margin_left = 15
|
||||||
|
Content.get("custom_styles/normal").content_margin_right = 15
|
||||||
|
else :
|
||||||
|
Content.get("custom_styles/normal").content_margin_left = (Content.rect_size.x - 500) / 4
|
||||||
|
Content.get("custom_styles/normal").content_margin_right = (Content.rect_size.x - 500) / 3
|
||||||
|
Content.update()
|
178
addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
[gd_scene load_steps=13 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf" type="DynamicFontData" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.gd" type="Script" id=6]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=1]
|
||||||
|
content_margin_left = 89.5
|
||||||
|
content_margin_right = 119.333
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=2]
|
||||||
|
use_filter = true
|
||||||
|
extra_spacing_char = 2
|
||||||
|
extra_spacing_space = 2
|
||||||
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=3]
|
||||||
|
use_filter = true
|
||||||
|
font_data = ExtResource( 2 )
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=4]
|
||||||
|
font_data = ExtResource( 3 )
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=5]
|
||||||
|
font_data = ExtResource( 2 )
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=6]
|
||||||
|
use_filter = true
|
||||||
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=9]
|
||||||
|
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=8]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 9 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="DocsPageViewer" type="Control"]
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 600.0
|
||||||
|
focus_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
script = ExtResource( 6 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Content" type="RichTextLabel" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
rect_min_size = Vector2( 50, 0 )
|
||||||
|
focus_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
custom_styles/normal = SubResource( 1 )
|
||||||
|
custom_fonts/mono_font = SubResource( 2 )
|
||||||
|
custom_fonts/bold_italics_font = SubResource( 3 )
|
||||||
|
custom_fonts/italics_font = SubResource( 4 )
|
||||||
|
custom_fonts/bold_font = SubResource( 5 )
|
||||||
|
custom_fonts/normal_font = SubResource( 6 )
|
||||||
|
custom_colors/selection_color = Color( 0.45098, 0.45098, 0.45098, 0.45098 )
|
||||||
|
bbcode_enabled = true
|
||||||
|
bbcode_text = "Can't find the specified file."
|
||||||
|
text = "Can't find the specified file."
|
||||||
|
scroll_following = true
|
||||||
|
selection_enabled = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Editing" type="HBoxContainer" parent="."]
|
||||||
|
visible = false
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
margin_left = -202.807
|
||||||
|
margin_top = 8.09956
|
||||||
|
margin_right = -8.80664
|
||||||
|
margin_bottom = 33.0996
|
||||||
|
grow_horizontal = 0
|
||||||
|
alignment = 2
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="RefreshPage" type="Button" parent="Editing"]
|
||||||
|
margin_left = 94.0
|
||||||
|
margin_right = 154.0
|
||||||
|
margin_bottom = 25.0
|
||||||
|
text = "Refresh"
|
||||||
|
|
||||||
|
[node name="EditPage" type="Button" parent="Editing"]
|
||||||
|
margin_left = 158.0
|
||||||
|
margin_right = 194.0
|
||||||
|
margin_bottom = 25.0
|
||||||
|
text = "Edit"
|
||||||
|
|
||||||
|
[node name="Up" type="Button" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -40.5946
|
||||||
|
margin_top = -41.6541
|
||||||
|
margin_right = -10.5946
|
||||||
|
margin_bottom = -11.6541
|
||||||
|
rect_min_size = Vector2( 30, 30 )
|
||||||
|
hint_tooltip = "Back to top"
|
||||||
|
icon = SubResource( 8 )
|
||||||
|
expand_icon = true
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="ContentMenu" type="VBoxContainer" parent="."]
|
||||||
|
anchor_left = 1.0
|
||||||
|
anchor_top = 1.0
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_left = -207.0
|
||||||
|
margin_top = -590.0
|
||||||
|
margin_right = -49.0
|
||||||
|
margin_bottom = -13.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
rect_min_size = Vector2( 50, 40 )
|
||||||
|
size_flags_horizontal = 0
|
||||||
|
size_flags_vertical = 9
|
||||||
|
custom_constants/separation = 20
|
||||||
|
alignment = 2
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Panel" type="Control" parent="ContentMenu"]
|
||||||
|
visible = false
|
||||||
|
margin_top = 537.0
|
||||||
|
margin_right = 158.0
|
||||||
|
margin_bottom = 537.0
|
||||||
|
|
||||||
|
[node name="VBox" type="VBoxContainer" parent="ContentMenu/Panel"]
|
||||||
|
margin_top = -88.0
|
||||||
|
margin_right = 156.0
|
||||||
|
margin_bottom = 4.0
|
||||||
|
grow_horizontal = 0
|
||||||
|
grow_vertical = 0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
alignment = 2
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="ToggleContents" type="Button" parent="ContentMenu"]
|
||||||
|
margin_top = 557.0
|
||||||
|
margin_right = 158.0
|
||||||
|
margin_bottom = 577.0
|
||||||
|
toggle_mode = true
|
||||||
|
text = "Contents"
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
margin_right = 40.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
|
||||||
|
[connection signal="meta_clicked" from="Content" to="." method="_on_meta_clicked"]
|
||||||
|
[connection signal="resized" from="Content" to="." method="_on_Content_resized"]
|
||||||
|
[connection signal="pressed" from="Editing/RefreshPage" to="." method="_on_RefreshPage_pressed"]
|
||||||
|
[connection signal="pressed" from="Editing/EditPage" to="." method="_on_EditPage_pressed"]
|
||||||
|
[connection signal="pressed" from="Up" to="." method="_on_Up_pressed"]
|
||||||
|
[connection signal="toggled" from="ContentMenu/ToggleContents" to="." method="_on_ToggleContents_toggled"]
|
224
addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd
Normal file
|
@ -0,0 +1,224 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
export (String) var documentation_path:String = "res://addons/dialogic/Documentation"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var use_folder_files = true
|
||||||
|
|
||||||
|
|
||||||
|
var file_ignore_list = ["Welcome.md"]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func get_documentation_content():
|
||||||
|
return get_dir_contents(documentation_path + "/Content")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func build_documentation_tree(tree:Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String = ""):
|
||||||
|
return _build_documentation_tree(tree, root_item, def_folder_info, def_page_info, filter_term)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func get_dir_contents(rootPath:String)->Dictionary:
|
||||||
|
var directory_structure = {}
|
||||||
|
var dir: = Directory.new()
|
||||||
|
|
||||||
|
if dir.open(rootPath) == OK:
|
||||||
|
dir.list_dir_begin(true, false)
|
||||||
|
directory_structure = _add_dir_contents(dir)
|
||||||
|
else :
|
||||||
|
push_error("Docs: An error occurred when trying to access the path.")
|
||||||
|
return directory_structure
|
||||||
|
|
||||||
|
func _add_dir_contents(dir:Directory)->Dictionary:
|
||||||
|
var file_name = dir.get_next()
|
||||||
|
|
||||||
|
var structure = {}
|
||||||
|
while (file_name != ""):
|
||||||
|
var path = dir.get_current_dir() + "/" + file_name
|
||||||
|
if dir.current_is_dir():
|
||||||
|
|
||||||
|
var subDir = Directory.new()
|
||||||
|
subDir.open(path)
|
||||||
|
subDir.list_dir_begin(true, false)
|
||||||
|
var dir_content = _add_dir_contents(subDir)
|
||||||
|
if dir_content.has("_files_"):
|
||||||
|
structure[path] = dir_content
|
||||||
|
else :
|
||||||
|
|
||||||
|
if not file_name.ends_with(".md"):
|
||||||
|
file_name = dir.get_next()
|
||||||
|
continue
|
||||||
|
if file_name in file_ignore_list:
|
||||||
|
file_name = dir.get_next()
|
||||||
|
continue
|
||||||
|
if not structure.has("_files_"):
|
||||||
|
structure["_files_"] = []
|
||||||
|
|
||||||
|
structure["_files_"].append(path)
|
||||||
|
|
||||||
|
file_name = dir.get_next()
|
||||||
|
dir.list_dir_end()
|
||||||
|
return structure
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _build_documentation_tree(tree:Tree, root_item:TreeItem = null, def_folder_info:Dictionary = {}, def_page_info:Dictionary = {}, filter_term:String = ""):
|
||||||
|
|
||||||
|
var documentation_tree
|
||||||
|
if root_item == null:
|
||||||
|
documentation_tree = tree.create_item()
|
||||||
|
documentation_tree.set_text(0, "Documentation")
|
||||||
|
|
||||||
|
else :
|
||||||
|
documentation_tree = root_item
|
||||||
|
|
||||||
|
|
||||||
|
if not filter_term:
|
||||||
|
documentation_tree.collapsed = true
|
||||||
|
else :
|
||||||
|
documentation_tree.collapsed = false
|
||||||
|
|
||||||
|
|
||||||
|
var doc_structure = get_documentation_content()
|
||||||
|
|
||||||
|
create_doc_tree(tree, documentation_tree, def_folder_info, def_page_info, doc_structure, filter_term)
|
||||||
|
return documentation_tree
|
||||||
|
|
||||||
|
|
||||||
|
func create_doc_tree(tree, parent_item, def_folder_info, def_page_info, doc_structure, filter_term):
|
||||||
|
for key in doc_structure.keys():
|
||||||
|
|
||||||
|
if typeof(doc_structure[key]) == TYPE_DICTIONARY:
|
||||||
|
var folder_item = _add_documentation_folder(tree, parent_item, {"name":key.get_file(), "path":key}, def_folder_info)
|
||||||
|
create_doc_tree(tree, folder_item, def_folder_info, def_page_info, doc_structure[key], filter_term)
|
||||||
|
if not filter_term:
|
||||||
|
folder_item.collapsed = true
|
||||||
|
|
||||||
|
elif typeof(doc_structure[key]) == TYPE_ARRAY:
|
||||||
|
for file in doc_structure[key]:
|
||||||
|
if use_folder_files and file.trim_suffix(".md") in doc_structure.keys():
|
||||||
|
pass
|
||||||
|
else :
|
||||||
|
if not filter_term or (filter_term and filter_term.to_lower() in get_title(file, "").to_lower()):
|
||||||
|
_add_documentation_page(tree, parent_item, {"name":file.get_file().trim_suffix(".md"), "path":file}, def_page_info)
|
||||||
|
|
||||||
|
func merge_dir(target:Dictionary, patch:Dictionary):
|
||||||
|
var copy = target.duplicate()
|
||||||
|
for key in patch:
|
||||||
|
copy[key] = patch[key]
|
||||||
|
return copy
|
||||||
|
|
||||||
|
|
||||||
|
func _add_documentation_folder(tree, parent_item, folder_info, default_info):
|
||||||
|
var item = tree.create_item(parent_item)
|
||||||
|
item.set_text(0, folder_info["name"])
|
||||||
|
item.set_icon(0, tree.get_icon("HelpSearch", "EditorIcons"))
|
||||||
|
item.set_editable(0, false)
|
||||||
|
if use_folder_files:
|
||||||
|
var x = File.new()
|
||||||
|
if x.file_exists(folder_info["path"] + ".md"):
|
||||||
|
folder_info["path"] += ".md"
|
||||||
|
else :
|
||||||
|
folder_info["path"] = ""
|
||||||
|
else :
|
||||||
|
folder_info["path"] = ""
|
||||||
|
item.set_metadata(0, merge_dir(default_info, folder_info))
|
||||||
|
if not tree.get_constant("dark_theme", "Editor"):
|
||||||
|
item.set_icon_modulate(0, get_color("property_color", "Editor"))
|
||||||
|
return item
|
||||||
|
|
||||||
|
|
||||||
|
func _add_documentation_page(tree, parent, page_info, default_info):
|
||||||
|
var item = tree.create_item(parent)
|
||||||
|
item.set_text(0, get_title(page_info["path"], page_info["name"]))
|
||||||
|
item.set_tooltip(0, page_info["path"])
|
||||||
|
item.set_editable(0, false)
|
||||||
|
item.set_icon(0, tree.get_icon("Help", "EditorIcons"))
|
||||||
|
var new_dir = merge_dir(default_info, page_info)
|
||||||
|
|
||||||
|
item.set_metadata(0, new_dir)
|
||||||
|
if not tree.get_constant("dark_theme", "Editor"):
|
||||||
|
item.set_icon_modulate(0, get_color("property_color", "Editor"))
|
||||||
|
return item
|
||||||
|
|
||||||
|
|
||||||
|
func get_title(path, default_name):
|
||||||
|
|
||||||
|
var f = File.new()
|
||||||
|
f.open(path, File.READ)
|
||||||
|
var arr = f.get_as_text().split("\n", false, 1)
|
||||||
|
if not arr.empty():
|
||||||
|
return arr[0].trim_prefix("#").strip_edges()
|
||||||
|
else :
|
||||||
|
return default_name
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func search_and_select_docs(docs_tree_item:TreeItem, info:String, key:String = "path"):
|
||||||
|
if info == "":return
|
||||||
|
if info == "/":
|
||||||
|
docs_tree_item.select(0)
|
||||||
|
return true
|
||||||
|
|
||||||
|
|
||||||
|
var item = docs_tree_item.get_children()
|
||||||
|
while item:
|
||||||
|
|
||||||
|
if not item.has_method("get_metadata"):
|
||||||
|
item = item.get_next()
|
||||||
|
|
||||||
|
var meta = item.get_metadata(0)
|
||||||
|
|
||||||
|
if meta.has(key):
|
||||||
|
if meta[key] == info:
|
||||||
|
item.select(0)
|
||||||
|
return true
|
||||||
|
if search_and_select_docs(item, info, key):
|
||||||
|
return true
|
||||||
|
item = item.get_next()
|
||||||
|
return false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
11
addons/dialogic/Documentation/Nodes/DocsTreeHelper.tscn
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsTreeHelper.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="DocsTreeHelper" type="Control"]
|
||||||
|
margin_right = 40.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
32
addons/dialogic/Documentation/Nodes/DocumentationTree.gd
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
tool
|
||||||
|
extends Tree
|
||||||
|
|
||||||
|
var documentation_tree
|
||||||
|
|
||||||
|
|
||||||
|
signal _page_selected(path)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func select_item(path):
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
connect("item_selected", self, "_on_item_selected")
|
||||||
|
|
||||||
|
|
||||||
|
documentation_tree.set_icon(0, get_icon("Folder", "EditorIcons"))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_item_selected():
|
||||||
|
var item = get_selected()
|
||||||
|
var metadata = item.get_metadata(0)
|
||||||
|
if metadata.has("path"):
|
||||||
|
emit_signal("_page_selected", metadata["path"])
|
14
addons/dialogic/Documentation/Nodes/DocumentationTree.tscn
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
|
||||||
|
[node name="DocumentationTree" type="Tree"]
|
||||||
|
margin_right = 506.0
|
||||||
|
margin_bottom = 600.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
21
addons/dialogic/Documentation/Nodes/DocumentationViewer.gd
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var DocTree = $HSplit / VBoxContainer / DocumentationTree
|
||||||
|
onready var DocPageViewer = $HSplit / DocsPageViewer
|
||||||
|
|
||||||
|
|
||||||
|
func _on_DocsPageViewer_open_non_html_link(link, section):
|
||||||
|
DocTree.select_item(link)
|
||||||
|
DocPageViewer.scroll_to_section(section)
|
||||||
|
|
||||||
|
func _on_DocumentationTree_page_selected(path):
|
||||||
|
DocPageViewer.load_page(path)
|
||||||
|
|
||||||
|
func _on_FilterEntry_text_changed(new_text):
|
||||||
|
var child = DocTree.documentation_tree.get_children()
|
||||||
|
while child:
|
||||||
|
child.call_recursive("call_deferred", "free")
|
||||||
|
child = child.get_next()
|
||||||
|
|
||||||
|
DocTree.call_deferred("update")
|
49
addons/dialogic/Documentation/Nodes/DocumentationViewer.tscn
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationTree.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocumentationViewer.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[node name="DocumentationViewer" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="HSplit" type="HSplitContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="HSplit"]
|
||||||
|
margin_right = 230.0
|
||||||
|
margin_bottom = 600.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
size_flags_stretch_ratio = 0.3
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="FilterEntry" type="LineEdit" parent="HSplit/VBoxContainer"]
|
||||||
|
margin_right = 230.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
placeholder_text = "Filter Documentation"
|
||||||
|
placeholder_alpha = 0.502
|
||||||
|
|
||||||
|
[node name="DocumentationTree" parent="HSplit/VBoxContainer" instance=ExtResource( 2 )]
|
||||||
|
margin_top = 28.0
|
||||||
|
margin_right = 230.0
|
||||||
|
|
||||||
|
[node name="DocsPageViewer" parent="HSplit" instance=ExtResource( 1 )]
|
||||||
|
margin_left = 242.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[connection signal="text_changed" from="HSplit/VBoxContainer/FilterEntry" to="." method="_on_FilterEntry_text_changed"]
|
||||||
|
[connection signal="open_non_html_link" from="HSplit/DocsPageViewer" to="." method="_on_DocsPageViewer_open_non_html_link"]
|
7
addons/dialogic/Documentation/Theme/DocumentationH1.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 30
|
||||||
|
font_data = ExtResource( 1 )
|
7
addons/dialogic/Documentation/Theme/DocumentationH2.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 24
|
||||||
|
font_data = ExtResource( 1 )
|
7
addons/dialogic/Documentation/Theme/DocumentationH3.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 20
|
||||||
|
font_data = ExtResource( 1 )
|
7
addons/dialogic/Documentation/Theme/DocumentationH4.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 20
|
||||||
|
font_data = ExtResource( 1 )
|
7
addons/dialogic/Documentation/Theme/DocumentationH5.tres
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[gd_resource type="DynamicFont" load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
size = 18
|
||||||
|
font_data = ExtResource( 1 )
|
202
addons/dialogic/Documentation/Theme/Font/LICENSE.txt
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
BIN
addons/dialogic/Documentation/Theme/Font/NotoSans-Bold.ttf
Normal file
BIN
addons/dialogic/Documentation/Theme/Font/NotoSans-BoldItalic.ttf
Normal file
BIN
addons/dialogic/Documentation/Theme/Font/NotoSans-Italic.ttf
Normal file
BIN
addons/dialogic/Documentation/Theme/Font/NotoSans-Regular.ttf
Normal file
374
addons/dialogic/Editor/CharacterEditor/CharacterEditor.gd
Normal file
|
@ -0,0 +1,374 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var editor_reference
|
||||||
|
onready var master_tree = get_node("../MasterTreeContainer/MasterTree")
|
||||||
|
var portrait_entry = load("res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn")
|
||||||
|
onready var nodes = {
|
||||||
|
"editor":$Split / EditorScroll / Editor,
|
||||||
|
"name":$Split / EditorScroll / Editor / NameAndColor / NameLineEdit,
|
||||||
|
"color":$Split / EditorScroll / Editor / NameAndColor / ColorPickerButton,
|
||||||
|
"display_name_checkbox":$Split / EditorScroll / Editor / DisplayName / CheckBox,
|
||||||
|
"display_name":$Split / EditorScroll / Editor / DisplayName / LineEdit,
|
||||||
|
"nickname_checkbox":$Split / EditorScroll / Editor / DisplayNickname / CheckBox,
|
||||||
|
"nickname":$Split / EditorScroll / Editor / DisplayNickname / LineEdit,
|
||||||
|
"description":$Split / EditorScroll / Editor / Description / TextEdit,
|
||||||
|
"theme":$Split / EditorScroll / Editor / Theme / ThemeButton,
|
||||||
|
|
||||||
|
"file":$Split / EditorScroll / Editor / FileName / LineEdit,
|
||||||
|
|
||||||
|
"mirror_portraits_checkbox":$Split / EditorScroll / Editor / HBoxContainer / MirrorOption / MirrorPortraitsCheckBox,
|
||||||
|
"scale":$Split / EditorScroll / Editor / HBoxContainer / Scale,
|
||||||
|
"offset_x":$Split / EditorScroll / Editor / HBoxContainer / OffsetX,
|
||||||
|
"offset_y":$Split / EditorScroll / Editor / HBoxContainer / OffsetY,
|
||||||
|
|
||||||
|
"portrait_search":$Split / EditorScroll / Editor / Portraits / Search,
|
||||||
|
"portrait_list":$Split / EditorScroll / Editor / PortraitPanel / VBoxContainer / ScrollContainer / VBoxContainer / PortraitList,
|
||||||
|
"new_portrait_button":$Split / EditorScroll / Editor / PortraitPanel / VBoxContainer / Labels / HBoxContainer / NewPortrait,
|
||||||
|
"import_from_folder_button":$Split / EditorScroll / Editor / PortraitPanel / VBoxContainer / Labels / HBoxContainer / ImportFromFolder,
|
||||||
|
|
||||||
|
"portrait_preview_full":$Split / Preview / Background / FullTextureRect,
|
||||||
|
"portrait_preview_real":$Split / Preview / Background / Positioner / RealSizedRect,
|
||||||
|
"image_label":$Split / Preview / Background / TLabel10,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var opened_character_data
|
||||||
|
var selected_theme_file = ""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
editor_reference = find_parent("EditorView")
|
||||||
|
|
||||||
|
nodes["new_portrait_button"].text = " " + DTS.translate("New portrait")
|
||||||
|
nodes["import_from_folder_button"].text = " " + DTS.translate("Import folder")
|
||||||
|
|
||||||
|
|
||||||
|
nodes["name"].connect("text_changed", self, "_on_name_changed")
|
||||||
|
nodes["name"].connect("focus_exited", self, "_update_name_on_tree")
|
||||||
|
nodes["color"].connect("color_changed", self, "_on_color_changed")
|
||||||
|
nodes["display_name_checkbox"].connect("toggled", self, "_on_display_name_toggled")
|
||||||
|
nodes["nickname_checkbox"].connect("toggled", self, "_on_nickname_toggled")
|
||||||
|
nodes["theme"].connect("about_to_show", self, "build_ThemePickerMenu")
|
||||||
|
|
||||||
|
nodes["portrait_search"].connect("text_changed", self, "_on_PortraitSearch_text_changed")
|
||||||
|
nodes["portrait_search"].right_icon = get_icon("Search", "EditorIcons")
|
||||||
|
nodes["import_from_folder_button"].connect("pressed", self, "_on_Import_Portrait_Folder_Button_pressed")
|
||||||
|
nodes["new_portrait_button"].connect("pressed", self, "_on_New_Portrait_Button_pressed")
|
||||||
|
|
||||||
|
|
||||||
|
var style = $Split / EditorScroll.get("custom_styles/bg")
|
||||||
|
style.set("bg_color", get_color("base_color", "Editor"))
|
||||||
|
nodes["new_portrait_button"].icon = get_icon("Add", "EditorIcons")
|
||||||
|
nodes["import_from_folder_button"].icon = get_icon("Folder", "EditorIcons")
|
||||||
|
$Split / EditorScroll / Editor / Portraits / Title.set("custom_fonts/font", get_font("doc_title", "EditorFonts"))
|
||||||
|
$Split / EditorScroll / Editor / PortraitPanel.set("custom_styles/panel", get_stylebox("Background", "EditorStyles"))
|
||||||
|
|
||||||
|
|
||||||
|
_on_PreviewMode_item_selected(DialogicResources.get_settings_value("editor", "character_preview_mode", 1))
|
||||||
|
$Split / Preview / Background / PreviewMode.select(DialogicResources.get_settings_value("editor", "character_preview_mode", 1))
|
||||||
|
$Split / Preview / Background / PreviewMode.set_item_text(0, DTS.translate("Full View"))
|
||||||
|
$Split / Preview / Background / PreviewMode.set_item_text(1, DTS.translate("Actual Size"))
|
||||||
|
|
||||||
|
|
||||||
|
func clear_character_editor():
|
||||||
|
nodes["file"].text = ""
|
||||||
|
nodes["name"].text = ""
|
||||||
|
nodes["color"].color = Color("#ffffff")
|
||||||
|
nodes["display_name_checkbox"].pressed = false
|
||||||
|
nodes["display_name"].text = ""
|
||||||
|
nodes["nickname_checkbox"].pressed = false
|
||||||
|
nodes["nickname"].text = ""
|
||||||
|
nodes["description"].text = ""
|
||||||
|
nodes["theme"].text = "No custom theme"
|
||||||
|
selected_theme_file = ""
|
||||||
|
|
||||||
|
nodes["portrait_search"].text = ""
|
||||||
|
nodes["portraits"] = []
|
||||||
|
nodes["scale"].value = 100
|
||||||
|
nodes["mirror_portraits_checkbox"].pressed = false
|
||||||
|
nodes["offset_x"].value = 0
|
||||||
|
nodes["offset_y"].value = 0
|
||||||
|
|
||||||
|
|
||||||
|
for p in nodes["portrait_list"].get_children():
|
||||||
|
p.queue_free()
|
||||||
|
nodes["portrait_preview_full"].texture = null
|
||||||
|
nodes["portrait_preview_real"].texture = null
|
||||||
|
nodes["portrait_preview_real"].rect_scale = Vector2(1, 1)
|
||||||
|
|
||||||
|
|
||||||
|
func create_character():
|
||||||
|
var character_file = "character-" + str(OS.get_unix_time()) + ".json"
|
||||||
|
var character = {
|
||||||
|
"color":"#ffffff",
|
||||||
|
"id":character_file,
|
||||||
|
"portraits":[],
|
||||||
|
"mirror_portraits":false
|
||||||
|
}
|
||||||
|
DialogicResources.set_character(character)
|
||||||
|
character["metadata"] = {"file":character_file}
|
||||||
|
return character
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func generate_character_data_to_save():
|
||||||
|
var portraits = []
|
||||||
|
for p in nodes["portrait_list"].get_children():
|
||||||
|
var entry = {}
|
||||||
|
entry["name"] = p.get_node("NameEdit").text
|
||||||
|
entry["path"] = p.get_node("PathEdit").text
|
||||||
|
portraits.append(entry)
|
||||||
|
var info_to_save = {
|
||||||
|
"id":nodes["file"].text,
|
||||||
|
"color":"#" + nodes["color"].color.to_html(),
|
||||||
|
"display_name_bool":nodes["display_name_checkbox"].pressed,
|
||||||
|
"display_name":nodes["display_name"].text,
|
||||||
|
"nickname_bool":nodes["nickname_checkbox"].pressed,
|
||||||
|
"nickname":nodes["nickname"].text,
|
||||||
|
"description":nodes["description"].text,
|
||||||
|
"theme":selected_theme_file,
|
||||||
|
|
||||||
|
"portraits":portraits,
|
||||||
|
"scale":nodes["scale"].value,
|
||||||
|
"mirror_portraits":nodes["mirror_portraits_checkbox"].pressed,
|
||||||
|
"offset_x":nodes["offset_x"].value,
|
||||||
|
"offset_y":nodes["offset_y"].value,
|
||||||
|
}
|
||||||
|
|
||||||
|
if nodes["name"].text != "":
|
||||||
|
info_to_save["name"] = nodes["name"].text
|
||||||
|
|
||||||
|
return info_to_save
|
||||||
|
|
||||||
|
|
||||||
|
func save_character():
|
||||||
|
var info_to_save = generate_character_data_to_save()
|
||||||
|
if info_to_save["id"]:
|
||||||
|
DialogicResources.set_character(info_to_save)
|
||||||
|
opened_character_data = info_to_save
|
||||||
|
|
||||||
|
|
||||||
|
func load_character(filename:String):
|
||||||
|
clear_character_editor()
|
||||||
|
var data = DialogicResources.get_character_json(filename)
|
||||||
|
opened_character_data = data
|
||||||
|
nodes["file"].text = data["id"]
|
||||||
|
nodes["name"].text = data.get("name", "")
|
||||||
|
nodes["color"].color = Color(data.get("color", "#ffffffff"))
|
||||||
|
nodes["display_name_checkbox"].pressed = data.get("display_name_bool", false)
|
||||||
|
nodes["display_name"].text = data.get("display_name", "")
|
||||||
|
nodes["nickname_checkbox"].pressed = data.get("nickname_bool", false)
|
||||||
|
nodes["nickname"].text = data.get("nickname", "")
|
||||||
|
nodes["description"].text = data.get("description", "")
|
||||||
|
refresh_themes_and_select(data.get("theme", ""))
|
||||||
|
|
||||||
|
nodes["scale"].value = float(data.get("scale", 100))
|
||||||
|
|
||||||
|
nodes["offset_x"].value = data.get("offset_x", 0)
|
||||||
|
nodes["offset_y"].value = data.get("offset_y", 0)
|
||||||
|
nodes["mirror_portraits_checkbox"].pressed = data.get("mirror_portraits", false)
|
||||||
|
nodes["portrait_preview_full"].flip_h = data.get("mirror_portraits", false)
|
||||||
|
nodes["portrait_preview_real"].flip_h = data.get("mirror_portraits", false)
|
||||||
|
nodes["portrait_preview_real"].rect_scale = Vector2(
|
||||||
|
float(data.get("scale", 100)) / 100, float(data.get("scale", 100)) / 100)
|
||||||
|
|
||||||
|
|
||||||
|
var default_portrait = create_portrait_entry()
|
||||||
|
default_portrait.get_node("NameEdit").text = "Default"
|
||||||
|
default_portrait.get_node("NameEdit").editable = false
|
||||||
|
if opened_character_data.has("portraits"):
|
||||||
|
for p in opened_character_data["portraits"]:
|
||||||
|
var current_item
|
||||||
|
if p["name"] == "Default":
|
||||||
|
default_portrait.get_node("PathEdit").text = p["path"]
|
||||||
|
default_portrait.update_preview(p["path"])
|
||||||
|
current_item = default_portrait
|
||||||
|
else :
|
||||||
|
current_item = create_portrait_entry(p["name"], p["path"])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_PortraitSearch_text_changed(text):
|
||||||
|
for portrait_item in nodes["portrait_list"].get_children():
|
||||||
|
if text.empty() or text.to_lower() in portrait_item.get_node("NameEdit").text.to_lower() or text.to_lower() in portrait_item.get_node("PathEdit").text.to_lower():
|
||||||
|
portrait_item.show()
|
||||||
|
else :
|
||||||
|
portrait_item.hide()
|
||||||
|
|
||||||
|
func refresh_themes_and_select(file):
|
||||||
|
selected_theme_file = file
|
||||||
|
|
||||||
|
if file == "" or file == "No custom theme":
|
||||||
|
nodes["theme"].text = "No custom theme"
|
||||||
|
nodes["theme"].custom_icon = get_icon("GuiRadioUnchecked", "EditorIcons")
|
||||||
|
else :
|
||||||
|
nodes["theme"].text = DialogicUtil.get_theme_dict()[file]["name"]
|
||||||
|
nodes["theme"].custom_icon = editor_reference.get_node("MainPanel/MasterTreeContainer/MasterTree").theme_icon
|
||||||
|
|
||||||
|
func build_ThemePickerMenu():
|
||||||
|
nodes["theme"].get_popup().clear()
|
||||||
|
var folder_structure = DialogicUtil.get_theme_folder_structure()
|
||||||
|
|
||||||
|
|
||||||
|
build_PickerMenuFolder(nodes["theme"].get_popup(), folder_structure, "MenuButton")
|
||||||
|
|
||||||
|
|
||||||
|
func build_PickerMenuFolder(menu:PopupMenu, folder_structure:Dictionary, current_folder_name:String):
|
||||||
|
var index = 0
|
||||||
|
|
||||||
|
if menu == nodes["theme"].get_popup():
|
||||||
|
menu.add_item("No custom theme")
|
||||||
|
menu.set_item_icon(index, get_icon("GuiRadioUnchecked", "EditorIcons"))
|
||||||
|
menu.set_item_metadata(index, {"file":""})
|
||||||
|
index += 1
|
||||||
|
|
||||||
|
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)
|
||||||
|
index += 1
|
||||||
|
|
||||||
|
|
||||||
|
nodes["theme"].update_submenu_style(submenu)
|
||||||
|
|
||||||
|
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_theme_selected"):
|
||||||
|
menu.connect("index_pressed", self, "_on_theme_selected", [menu])
|
||||||
|
|
||||||
|
return current_folder_name
|
||||||
|
|
||||||
|
|
||||||
|
func _on_theme_selected(index, menu):
|
||||||
|
refresh_themes_and_select(menu.get_item_metadata(index).get("file", ""))
|
||||||
|
|
||||||
|
|
||||||
|
func _on_display_name_toggled(button_pressed):
|
||||||
|
nodes["display_name"].visible = button_pressed
|
||||||
|
if button_pressed:nodes["display_name"].grab_focus()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_nickname_toggled(button_pressed):
|
||||||
|
nodes["nickname"].visible = button_pressed
|
||||||
|
if button_pressed:nodes["nickname"].grab_focus()
|
||||||
|
|
||||||
|
func is_selected(file:String):
|
||||||
|
return nodes["file"].text == file
|
||||||
|
|
||||||
|
|
||||||
|
func _on_name_changed(value):
|
||||||
|
save_character()
|
||||||
|
|
||||||
|
|
||||||
|
func _update_name_on_tree():
|
||||||
|
var item = master_tree.get_selected()
|
||||||
|
item.set_text(0, nodes["name"].text)
|
||||||
|
master_tree.build_characters(nodes["file"].text)
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event):
|
||||||
|
if event is InputEventKey and event.pressed:
|
||||||
|
if nodes["name"].has_focus():
|
||||||
|
if event.scancode == KEY_ENTER:
|
||||||
|
nodes["name"].release_focus()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_color_changed(color):
|
||||||
|
var item = master_tree.get_selected()
|
||||||
|
item.set_icon_modulate(0, color)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_New_Portrait_Button_pressed():
|
||||||
|
create_portrait_entry("", "", true)
|
||||||
|
|
||||||
|
|
||||||
|
func create_portrait_entry(p_name = "", path = "", grab_focus = false):
|
||||||
|
if grab_focus and nodes["portrait_list"].get_child_count() == 1 and nodes["portrait_list"].get_child(0).get_node("PathEdit").text == "":
|
||||||
|
nodes["portrait_list"].get_child(0)._on_ButtonSelect_pressed()
|
||||||
|
return
|
||||||
|
|
||||||
|
var p = portrait_entry.instance()
|
||||||
|
p.editor_reference = editor_reference
|
||||||
|
p.image_node = nodes["portrait_preview_full"]
|
||||||
|
p.image_node2 = nodes["portrait_preview_real"]
|
||||||
|
p.image_label = nodes["image_label"]
|
||||||
|
var p_list = nodes["portrait_list"]
|
||||||
|
p_list.add_child(p)
|
||||||
|
if p_name != "":
|
||||||
|
p.get_node("NameEdit").text = p_name
|
||||||
|
if path != "":
|
||||||
|
p.get_node("PathEdit").text = path
|
||||||
|
if grab_focus:
|
||||||
|
p.get_node("NameEdit").grab_focus()
|
||||||
|
p._on_ButtonSelect_pressed()
|
||||||
|
return p
|
||||||
|
|
||||||
|
|
||||||
|
func _on_Import_Portrait_Folder_Button_pressed():
|
||||||
|
editor_reference.godot_dialog("*", EditorFileDialog.MODE_OPEN_DIR)
|
||||||
|
editor_reference.godot_dialog_connect(self, "_on_dir_selected", "dir_selected")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_dir_selected(path, target):
|
||||||
|
var dir = Directory.new()
|
||||||
|
if dir.open(path) == OK:
|
||||||
|
dir.list_dir_begin()
|
||||||
|
var file_name = dir.get_next()
|
||||||
|
while file_name != "":
|
||||||
|
if not dir.current_is_dir():
|
||||||
|
var file_lower = file_name.to_lower()
|
||||||
|
if ".svg" in file_lower or ".png" in file_lower or ".webp" in file_lower:
|
||||||
|
if not ".import" in file_lower:
|
||||||
|
var final_name = path + "/" + file_name
|
||||||
|
create_portrait_entry(DialogicResources.get_filename_from_path(file_name), final_name)
|
||||||
|
file_name = dir.get_next()
|
||||||
|
else :
|
||||||
|
print("An error occurred when trying to access the path.")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_MirrorPortraitsCheckBox_toggled(button_pressed):
|
||||||
|
nodes["portrait_preview_full"].flip_h = button_pressed
|
||||||
|
nodes["portrait_preview_real"].flip_h = button_pressed
|
||||||
|
|
||||||
|
|
||||||
|
func _on_Scale_value_changed(value):
|
||||||
|
|
||||||
|
nodes["portrait_preview_real"].rect_size = Vector2()
|
||||||
|
nodes["portrait_preview_real"].rect_scale = Vector2(
|
||||||
|
float(value) / 100, float(value) / 100)
|
||||||
|
|
||||||
|
func _on_PreviewMode_item_selected(index):
|
||||||
|
if index == 0:
|
||||||
|
nodes["portrait_preview_real"].hide()
|
||||||
|
nodes["portrait_preview_full"].show()
|
||||||
|
if index == 1:
|
||||||
|
nodes["portrait_preview_real"].show()
|
||||||
|
nodes["portrait_preview_full"].hide()
|
||||||
|
DialogicResources.set_settings_value("editor", "character_preview_mode", index)
|
||||||
|
|
547
addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn
Normal file
55
addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
tool
|
||||||
|
extends HBoxContainer
|
||||||
|
|
||||||
|
var editor_reference
|
||||||
|
var image_node
|
||||||
|
var image_node2
|
||||||
|
var image_label
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
$ButtonDelete.icon = get_icon("Remove", "EditorIcons")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_ButtonDelete_pressed():
|
||||||
|
if $NameEdit.text == "Default":
|
||||||
|
$PathEdit.text = ""
|
||||||
|
update_preview("")
|
||||||
|
else :
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_ButtonSelect_pressed():
|
||||||
|
editor_reference.godot_dialog("*.png, *.svg, *.tscn, *.webp")
|
||||||
|
editor_reference.godot_dialog_connect(self, "_on_file_selected")
|
||||||
|
|
||||||
|
|
||||||
|
func _on_file_selected(path, target):
|
||||||
|
update_preview(path)
|
||||||
|
$PathEdit.text = path
|
||||||
|
if $NameEdit.text == "":
|
||||||
|
$NameEdit.text = DialogicResources.get_filename_from_path(path)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_focus_entered():
|
||||||
|
if $PathEdit.text == "":
|
||||||
|
image_label.text = DTS.translate("NoImagePreview")
|
||||||
|
image_node.texture = null
|
||||||
|
image_node2.texture = null
|
||||||
|
else :
|
||||||
|
update_preview($PathEdit.text)
|
||||||
|
|
||||||
|
|
||||||
|
func update_preview(path):
|
||||||
|
image_label.text = DTS.translate("Preview of") + " \"" + $NameEdit.text + "\""
|
||||||
|
var l_path = path.to_lower()
|
||||||
|
if ".png" in l_path or ".svg" in l_path or ".webp" in l_path:
|
||||||
|
image_node.texture = load(path)
|
||||||
|
image_node2.texture = load(path)
|
||||||
|
image_label.text += " (" + str(image_node.texture.get_width()) + "x" + str(image_node.texture.get_height()) + ")"
|
||||||
|
elif ".tscn" in l_path:
|
||||||
|
image_node.texture = null
|
||||||
|
image_node2.texture = null
|
||||||
|
image_label.text = DTS.translate("CustomScenePreview")
|
||||||
|
else :
|
||||||
|
image_node.texture = null
|
||||||
|
image_node2.texture = null
|
61
addons/dialogic/Editor/CharacterEditor/PortraitEntry.tscn
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
[gd_scene load_steps=4 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/PortraitEntry.gd" type="Script" id=2]
|
||||||
|
|
||||||
|
[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="PortraitEntry" type="HBoxContainer"]
|
||||||
|
margin_right = 451.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="NameEdit" type="LineEdit" parent="."]
|
||||||
|
margin_right = 160.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
rect_min_size = Vector2( 160, 0 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="PathEdit" type="LineEdit" parent="."]
|
||||||
|
margin_left = 164.0
|
||||||
|
margin_right = 391.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
rect_min_size = Vector2( 150, 0 )
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
editable = false
|
||||||
|
selecting_enabled = false
|
||||||
|
|
||||||
|
[node name="ButtonSelect" type="Button" parent="."]
|
||||||
|
margin_left = 395.0
|
||||||
|
margin_right = 419.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
text = "..."
|
||||||
|
|
||||||
|
[node name="ButtonDelete" type="Button" parent="."]
|
||||||
|
margin_left = 423.0
|
||||||
|
margin_right = 451.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
icon = SubResource( 3 )
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[connection signal="focus_entered" from="NameEdit" to="." method="_on_focus_entered"]
|
||||||
|
[connection signal="focus_entered" from="PathEdit" to="." method="_on_focus_entered"]
|
||||||
|
[connection signal="pressed" from="ButtonSelect" to="." method="_on_ButtonSelect_pressed"]
|
||||||
|
[connection signal="pressed" from="ButtonDelete" to="." method="_on_ButtonDelete_pressed"]
|
10
addons/dialogic/Editor/Common/SectionTitle.gd
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
tool
|
||||||
|
extends Label
|
||||||
|
export var text_key:String = ""
|
||||||
|
|
||||||
|
func set_text_from_key(value):
|
||||||
|
text = DTS.translate(value)
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
if text_key != "":
|
||||||
|
set_text_from_key(text_key)
|
20
addons/dialogic/Editor/Common/SectionTitle.tscn
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
[gd_scene load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Common/SectionTitle.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[node name="SectionTitle" type="Label"]
|
||||||
|
margin_right = 270.0
|
||||||
|
margin_bottom = 22.0
|
||||||
|
custom_styles/normal = SubResource( 1 )
|
||||||
|
text = "Visuals"
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
9
addons/dialogic/Editor/Common/TLabel.gd
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
tool
|
||||||
|
extends Label
|
||||||
|
export var text_key:String = ""
|
||||||
|
|
||||||
|
func set_text_from_key(value):
|
||||||
|
text = DTS.translate(value)
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
set_text_from_key(text_key)
|
11
addons/dialogic/Editor/Common/TLabel.tscn
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[gd_scene load_steps=2 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Common/TLabel.gd" type="Script" id=1]
|
||||||
|
|
||||||
|
[node name="TLabel" type="Label"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
|
@ -0,0 +1,65 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
onready var master_tree = get_node("../MasterTreeContainer/MasterTree")
|
||||||
|
var current_page:String = ""
|
||||||
|
|
||||||
|
var previous_pages = []
|
||||||
|
var next_pages = []
|
||||||
|
|
||||||
|
signal open_link(link)
|
||||||
|
|
||||||
|
onready var nodes = {
|
||||||
|
"DocsViewer":$DocsViewer,
|
||||||
|
"Next":null,
|
||||||
|
"Previous":null,
|
||||||
|
}
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
set("custom_styles/panel", get_stylebox("Background", "EditorStyles"))
|
||||||
|
|
||||||
|
var _scale = get_constant("inspector_margin", "Editor")
|
||||||
|
_scale = _scale * 0.125
|
||||||
|
nodes["DocsViewer"].MarkdownParser.editor_scale = _scale
|
||||||
|
nodes["Next"] = find_parent("EditorView").get_node("ToolBar/DocumentationNavigation/Next")
|
||||||
|
nodes["Next"].connect("pressed", self, "open_next_page")
|
||||||
|
nodes["Previous"] = find_parent("EditorView").get_node("ToolBar/DocumentationNavigation/Previous")
|
||||||
|
nodes["Previous"].connect("pressed", self, "open_previous_page")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func load_page(page):
|
||||||
|
if current_page:
|
||||||
|
previous_pages.push_back(current_page)
|
||||||
|
nodes["Previous"].disabled = false
|
||||||
|
next_pages = []
|
||||||
|
current_page = page
|
||||||
|
nodes["DocsViewer"].load_page(current_page)
|
||||||
|
nodes["Next"].disabled = true
|
||||||
|
|
||||||
|
|
||||||
|
func open_previous_page():
|
||||||
|
if len(previous_pages):
|
||||||
|
next_pages.push_front(current_page)
|
||||||
|
current_page = previous_pages.pop_back()
|
||||||
|
nodes["DocsViewer"].load_page(current_page)
|
||||||
|
nodes["Previous"].disabled = len(previous_pages) == 0
|
||||||
|
nodes["Next"].disabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func open_next_page():
|
||||||
|
if len(next_pages):
|
||||||
|
previous_pages.push_back(current_page)
|
||||||
|
current_page = next_pages.pop_front()
|
||||||
|
nodes["DocsViewer"].load_page(current_page)
|
||||||
|
nodes["Next"].disabled = len(next_pages) == 0
|
||||||
|
nodes["Previous"].disabled = false
|
||||||
|
|
||||||
|
|
||||||
|
func toggle_editing():
|
||||||
|
nodes["DocsViewer"].toggle_editing()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_DocsViewer_open_non_html_link(link, section):
|
||||||
|
|
||||||
|
master_tree.select_documentation_item(link)
|
|
@ -0,0 +1,42 @@
|
||||||
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Documentation/Nodes/DocsPageViewer.tscn" type="PackedScene" id=2]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=6]
|
||||||
|
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=4]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 6 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxTexture" id=5]
|
||||||
|
texture = SubResource( 4 )
|
||||||
|
region_rect = Rect2( 0, 0, 16, 16 )
|
||||||
|
margin_left = 2.0
|
||||||
|
margin_right = 2.0
|
||||||
|
margin_top = 2.0
|
||||||
|
margin_bottom = 2.0
|
||||||
|
|
||||||
|
[node name="DocumentationViewer" type="Panel"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
custom_styles/panel = SubResource( 5 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="DocsViewer" parent="." instance=ExtResource( 2 )]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_right = 0.0
|
||||||
|
margin_bottom = 0.0
|
||||||
|
rect_min_size = Vector2( 50, 0 )
|
||||||
|
|
||||||
|
[connection signal="open_non_html_link" from="DocsViewer" to="." method="_on_DocsViewer_open_non_html_link"]
|
194
addons/dialogic/Editor/EditorView.gd
Normal file
|
@ -0,0 +1,194 @@
|
||||||
|
tool
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
var editor_file_dialog
|
||||||
|
var file_picker_data:Dictionary = {"method":"", "node":self}
|
||||||
|
var version_string:String
|
||||||
|
|
||||||
|
|
||||||
|
var editor_interface = null
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
|
||||||
|
editor_file_dialog = EditorFileDialog.new()
|
||||||
|
add_child(editor_file_dialog)
|
||||||
|
|
||||||
|
$ToolBar / Docs.text = DTS.translate("Help")
|
||||||
|
$ToolBar / Web.text = DTS.translate("Website")
|
||||||
|
|
||||||
|
$MainPanel / MasterTreeContainer / MasterTree.connect("editor_selected", self, "on_master_tree_editor_selected")
|
||||||
|
|
||||||
|
|
||||||
|
DialogicUtil.update_resource_folder_structure()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var separation = get_constant("separation", "BoxContainer")
|
||||||
|
$MainPanel.margin_left = separation
|
||||||
|
$MainPanel.margin_right = separation * - 1
|
||||||
|
$MainPanel.margin_bottom = separation * - 1
|
||||||
|
$MainPanel.margin_top = 38
|
||||||
|
var modifier = ""
|
||||||
|
var _scale = get_constant("inspector_margin", "Editor")
|
||||||
|
_scale = _scale * 0.125
|
||||||
|
if _scale == 1:
|
||||||
|
$MainPanel.margin_top = 30
|
||||||
|
if _scale == 1.25:
|
||||||
|
modifier = "-1.25"
|
||||||
|
$MainPanel.margin_top = 37
|
||||||
|
if _scale == 1.5:
|
||||||
|
modifier = "-1.25"
|
||||||
|
$MainPanel.margin_top = 46
|
||||||
|
if _scale == 1.75:
|
||||||
|
modifier = "-1.25"
|
||||||
|
$MainPanel.margin_top = 53
|
||||||
|
if _scale == 2:
|
||||||
|
$MainPanel.margin_top = 59
|
||||||
|
modifier = "-2"
|
||||||
|
$ToolBar / NewTimelineButton.icon = load("res://addons/dialogic/Images/Toolbar/add-timeline" + modifier + ".svg")
|
||||||
|
$ToolBar / NewTimelineButton.hint_tooltip = DTS.translate("Add Timeline")
|
||||||
|
$ToolBar / NewCharactersButton.icon = load("res://addons/dialogic/Images/Toolbar/add-character" + modifier + ".svg")
|
||||||
|
$ToolBar / NewCharactersButton.hint_tooltip = DTS.translate("Add Character")
|
||||||
|
$ToolBar / NewValueButton.icon = load("res://addons/dialogic/Images/Toolbar/add-definition" + modifier + ".svg")
|
||||||
|
$ToolBar / NewValueButton.hint_tooltip = DTS.translate("Add Value")
|
||||||
|
$ToolBar / NewGlossaryEntryButton.icon = load("res://addons/dialogic/Images/Toolbar/add-glossary" + modifier + ".svg")
|
||||||
|
$ToolBar / NewGlossaryEntryButton.hint_tooltip = DTS.translate("Add Glossary Entry")
|
||||||
|
$ToolBar / NewThemeButton.icon = load("res://addons/dialogic/Images/Toolbar/add-theme" + modifier + ".svg")
|
||||||
|
$ToolBar / NewThemeButton.hint_tooltip = DTS.translate("Add Theme")
|
||||||
|
|
||||||
|
var modulate_color = Color.white
|
||||||
|
if not get_constant("dark_theme", "Editor"):
|
||||||
|
modulate_color = get_color("property_color", "Editor")
|
||||||
|
$ToolBar / NewTimelineButton.modulate = modulate_color
|
||||||
|
$ToolBar / NewCharactersButton.modulate = modulate_color
|
||||||
|
$ToolBar / NewValueButton.modulate = modulate_color
|
||||||
|
$ToolBar / NewGlossaryEntryButton.modulate = modulate_color
|
||||||
|
$ToolBar / NewThemeButton.modulate = modulate_color
|
||||||
|
|
||||||
|
$ToolBar / FoldTools / ButtonFold.icon = get_icon("GuiTreeArrowRight", "EditorIcons")
|
||||||
|
$ToolBar / FoldTools / ButtonUnfold.icon = get_icon("GuiTreeArrowDown", "EditorIcons")
|
||||||
|
$ToolBar / FoldTools / PlayTimeline.icon = get_icon("PlayScene", "EditorIcons")
|
||||||
|
|
||||||
|
|
||||||
|
$ToolBar / NewTimelineButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_timeline")
|
||||||
|
$ToolBar / NewCharactersButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_character")
|
||||||
|
$ToolBar / NewThemeButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_theme")
|
||||||
|
$ToolBar / NewValueButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_value_definition")
|
||||||
|
$ToolBar / NewGlossaryEntryButton.connect("pressed", $MainPanel / MasterTreeContainer / MasterTree, "new_glossary_entry")
|
||||||
|
$ToolBar / Web.icon = get_icon("Instance", "EditorIcons")
|
||||||
|
$ToolBar / Web.connect("pressed", OS, "shell_open", ["https://dialogic.coppolaemilio.com"])
|
||||||
|
$ToolBar / Docs.icon = get_icon("HelpSearch", "EditorIcons")
|
||||||
|
$ToolBar / DocumentationNavigation / Previous.icon = get_icon("Back", "EditorIcons")
|
||||||
|
$ToolBar / DocumentationNavigation / Next.icon = get_icon("Forward", "EditorIcons")
|
||||||
|
$ToolBar / Docs.connect("pressed",
|
||||||
|
$MainPanel / MasterTreeContainer / MasterTree,
|
||||||
|
"select_documentation_item",
|
||||||
|
["/"])
|
||||||
|
$ToolBar / FoldTools / ButtonFold.connect("pressed", $MainPanel / TimelineEditor, "fold_all_nodes")
|
||||||
|
$ToolBar / FoldTools / ButtonUnfold.connect("pressed", $MainPanel / TimelineEditor, "unfold_all_nodes")
|
||||||
|
$ToolBar / FoldTools / PlayTimeline.connect("pressed", $MainPanel / TimelineEditor, "play_timeline")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$RemoveFolderConfirmation.connect("confirmed", self, "_on_RemoveFolderConfirmation_confirmed")
|
||||||
|
$RemoveConfirmation.window_title = DTS.translate("RemoveResourcePopupTitle")
|
||||||
|
$RemoveFolderConfirmation.window_title = DTS.translate("RemoveFolderPopupTitle")
|
||||||
|
$RemoveFolderConfirmation.dialog_text = DTS.translate("RemoveFolderPopupText")
|
||||||
|
|
||||||
|
|
||||||
|
var config = ConfigFile.new()
|
||||||
|
var err = config.load("res://addons/dialogic/plugin.cfg")
|
||||||
|
if err == OK:
|
||||||
|
version_string = config.get_value("plugin", "version", "?")
|
||||||
|
$ToolBar / Version.text = "Dialogic v" + version_string
|
||||||
|
|
||||||
|
$MainPanel / MasterTreeContainer / FilterMasterTreeEdit.right_icon = get_icon("Search", "EditorIcons")
|
||||||
|
|
||||||
|
|
||||||
|
func on_master_tree_editor_selected(editor:String):
|
||||||
|
$ToolBar / FoldTools.visible = editor == "timeline"
|
||||||
|
$ToolBar / DocumentationNavigation.visible = editor == "documentation"
|
||||||
|
|
||||||
|
|
||||||
|
func popup_remove_confirmation(what):
|
||||||
|
|
||||||
|
if $RemoveConfirmation.is_connected(
|
||||||
|
"confirmed", self, "_on_RemoveConfirmation_confirmed"):
|
||||||
|
$RemoveConfirmation.disconnect(
|
||||||
|
"confirmed", self, "_on_RemoveConfirmation_confirmed")
|
||||||
|
|
||||||
|
|
||||||
|
if what == "Theme" and len(DialogicUtil.get_theme_list()) == 1:
|
||||||
|
print("[D] You cannot delete the last theme!")
|
||||||
|
$RemoveConfirmation.dialog_text = DTS.translate("CantDeleteLastTheme")
|
||||||
|
|
||||||
|
else :
|
||||||
|
var remove_text = DTS.translate("DeleteResourceText")
|
||||||
|
$RemoveConfirmation.dialog_text = remove_text.replace("[resource]", what)
|
||||||
|
$RemoveConfirmation.connect("confirmed", self, "_on_RemoveConfirmation_confirmed", [what])
|
||||||
|
|
||||||
|
|
||||||
|
$RemoveConfirmation.popup_centered()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_RemoveFolderConfirmation_confirmed():
|
||||||
|
var item_path = $MainPanel / MasterTreeContainer / MasterTree.get_item_path($MainPanel / MasterTreeContainer / MasterTree.get_selected())
|
||||||
|
DialogicUtil.remove_folder(item_path)
|
||||||
|
$MainPanel / MasterTreeContainer / MasterTree.build_full_tree()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_RemoveConfirmation_confirmed(what:String = ""):
|
||||||
|
if what == "Timeline":
|
||||||
|
var target = $MainPanel / TimelineEditor.timeline_file
|
||||||
|
DialogicResources.delete_timeline(target)
|
||||||
|
elif what == "GlossaryEntry":
|
||||||
|
var target = $MainPanel / GlossaryEntryEditor.current_definition["id"]
|
||||||
|
DialogicResources.delete_default_definition(target)
|
||||||
|
elif what == "Value":
|
||||||
|
var target = $MainPanel / ValueEditor.current_definition["id"]
|
||||||
|
DialogicResources.delete_default_definition(target)
|
||||||
|
elif what == "Theme":
|
||||||
|
var filename = $MainPanel / MasterTreeContainer / MasterTree.get_selected().get_metadata(0)["file"]
|
||||||
|
DialogicResources.delete_theme(filename)
|
||||||
|
elif what == "Character":
|
||||||
|
var filename = $MainPanel / CharacterEditor.opened_character_data["id"]
|
||||||
|
DialogicResources.delete_character(filename)
|
||||||
|
DialogicUtil.update_resource_folder_structure()
|
||||||
|
$MainPanel / MasterTreeContainer / MasterTree.remove_selected()
|
||||||
|
$MainPanel / MasterTreeContainer / MasterTree.hide_all_editors()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func godot_dialog(filter, mode = EditorFileDialog.MODE_OPEN_FILE):
|
||||||
|
editor_file_dialog.mode = mode
|
||||||
|
editor_file_dialog.clear_filters()
|
||||||
|
editor_file_dialog.popup_centered_ratio(0.75)
|
||||||
|
editor_file_dialog.add_filter(filter)
|
||||||
|
return editor_file_dialog
|
||||||
|
|
||||||
|
|
||||||
|
func godot_dialog_connect(who, method_name, signal_name = "file_selected"):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for test_signal in editor_file_dialog.get_signal_list():
|
||||||
|
if not file_picker_data["node"] or not is_instance_valid(file_picker_data["node"]):
|
||||||
|
continue
|
||||||
|
|
||||||
|
if editor_file_dialog.is_connected(
|
||||||
|
test_signal.name,
|
||||||
|
file_picker_data["node"],
|
||||||
|
file_picker_data["method"]
|
||||||
|
):
|
||||||
|
editor_file_dialog.disconnect(
|
||||||
|
test_signal.name,
|
||||||
|
file_picker_data["node"],
|
||||||
|
file_picker_data["method"]
|
||||||
|
)
|
||||||
|
|
||||||
|
for new_signal_name in signal_name if typeof(signal_name) == TYPE_ARRAY else [signal_name]:
|
||||||
|
editor_file_dialog.connect(new_signal_name, who, method_name, [who])
|
||||||
|
|
||||||
|
file_picker_data["method"] = method_name
|
||||||
|
file_picker_data["node"] = who
|
330
addons/dialogic/Editor/EditorView.tscn
Normal file
|
@ -0,0 +1,330 @@
|
||||||
|
[gd_scene load_steps=22 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/EditorView.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/TimelineEditor/TimelineEditor.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Toolbar/add-character.svg" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Toolbar/add-timeline.svg" type="Texture" id=4]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Toolbar/add-definition.svg" type="Texture" id=5]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/SettingsEditor/SettingsEditor.tscn" type="PackedScene" id=6]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/CharacterEditor/CharacterEditor.tscn" type="PackedScene" id=7]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/ThemeEditor/ThemeEditor.tscn" type="PackedScene" id=8]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/GlossaryEntryEditor/GlossaryEntryEditor.tscn" type="PackedScene" id=9]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Toolbar/add-glossary.svg" type="Texture" id=10]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/DocumentationViewer/DocumentationViewer.tscn" type="PackedScene" id=11]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/ValueEditor/ValueEditor.tscn" type="PackedScene" id=12]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Toolbar/add-theme.svg" type="Texture" id=13]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/MasterTree/MasterTree.tscn" type="PackedScene" id=35]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=9]
|
||||||
|
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( 9 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="InputEventKey" id=7]
|
||||||
|
scancode = 16777252
|
||||||
|
|
||||||
|
[sub_resource type="ShortCut" id=8]
|
||||||
|
shortcut = SubResource( 7 )
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=10]
|
||||||
|
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=4]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 10 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxTexture" id=5]
|
||||||
|
texture = SubResource( 4 )
|
||||||
|
region_rect = Rect2( 0, 0, 16, 16 )
|
||||||
|
margin_left = 2.0
|
||||||
|
margin_right = 2.0
|
||||||
|
margin_top = 2.0
|
||||||
|
margin_bottom = 2.0
|
||||||
|
|
||||||
|
[node name="EditorView" type="Control"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
rect_min_size = Vector2( 0, 200 )
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 3
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="ToolBar" type="HBoxContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="NewTimelineButton" type="Button" parent="ToolBar"]
|
||||||
|
modulate = Color( 0, 0, 0, 1 )
|
||||||
|
margin_right = 28.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Add Timeline"
|
||||||
|
icon = ExtResource( 4 )
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="NewCharactersButton" type="ToolButton" parent="ToolBar"]
|
||||||
|
modulate = Color( 0, 0, 0, 1 )
|
||||||
|
self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 )
|
||||||
|
margin_left = 32.0
|
||||||
|
margin_right = 60.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Add Character"
|
||||||
|
icon = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="NewValueButton" type="Button" parent="ToolBar"]
|
||||||
|
modulate = Color( 0, 0, 0, 1 )
|
||||||
|
margin_left = 64.0
|
||||||
|
margin_right = 92.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Add Value"
|
||||||
|
icon = ExtResource( 5 )
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="NewGlossaryEntryButton" type="Button" parent="ToolBar"]
|
||||||
|
modulate = Color( 0, 0, 0, 1 )
|
||||||
|
margin_left = 96.0
|
||||||
|
margin_right = 124.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Add Glossary Entry"
|
||||||
|
icon = ExtResource( 10 )
|
||||||
|
flat = true
|
||||||
|
__meta__ = {
|
||||||
|
"_editor_description_": ""
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="NewThemeButton" type="Button" parent="ToolBar"]
|
||||||
|
modulate = Color( 0, 0, 0, 1 )
|
||||||
|
margin_left = 128.0
|
||||||
|
margin_right = 156.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Add Theme"
|
||||||
|
icon = ExtResource( 13 )
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="FoldTools" type="HBoxContainer" parent="ToolBar"]
|
||||||
|
visible = false
|
||||||
|
margin_left = 160.0
|
||||||
|
margin_right = 348.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="ToolBar/FoldTools"]
|
||||||
|
visible = false
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 59.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = " Fold "
|
||||||
|
|
||||||
|
[node name="ButtonFold" type="ToolButton" parent="ToolBar/FoldTools"]
|
||||||
|
margin_left = 63.0
|
||||||
|
margin_right = 91.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
align = 0
|
||||||
|
|
||||||
|
[node name="ButtonUnfold" type="ToolButton" parent="ToolBar/FoldTools"]
|
||||||
|
margin_left = 95.0
|
||||||
|
margin_right = 123.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
align = 0
|
||||||
|
|
||||||
|
[node name="PlayTimeline" type="ToolButton" parent="ToolBar/FoldTools"]
|
||||||
|
self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 )
|
||||||
|
margin_left = 127.0
|
||||||
|
margin_right = 188.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
|
shortcut = SubResource( 8 )
|
||||||
|
text = "Play Timeline"
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Spacer" type="Control" parent="ToolBar"]
|
||||||
|
margin_left = 160.0
|
||||||
|
margin_right = 747.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="Web" type="ToolButton" parent="ToolBar"]
|
||||||
|
self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 )
|
||||||
|
margin_left = 751.0
|
||||||
|
margin_right = 835.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
|
text = "Website"
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Docs" type="ToolButton" parent="ToolBar"]
|
||||||
|
self_modulate = Color( 0.870588, 0.870588, 0.870588, 1 )
|
||||||
|
margin_left = 839.0
|
||||||
|
margin_right = 900.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
mouse_default_cursor_shape = 2
|
||||||
|
text = "Help"
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Version" type="Label" parent="ToolBar"]
|
||||||
|
self_modulate = Color( 1, 1, 1, 0.631373 )
|
||||||
|
margin_left = 904.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Dialogic v1.4 - DEV"
|
||||||
|
|
||||||
|
[node name="DocumentationNavigation" type="HBoxContainer" parent="ToolBar"]
|
||||||
|
visible = false
|
||||||
|
margin_left = 980.0
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="VSeparator" type="VSeparator" parent="ToolBar/DocumentationNavigation"]
|
||||||
|
margin_right = 4.0
|
||||||
|
margin_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Previous" type="Button" parent="ToolBar/DocumentationNavigation"]
|
||||||
|
margin_right = 22.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
rect_min_size = Vector2( 22, 22 )
|
||||||
|
focus_mode = 0
|
||||||
|
disabled = true
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
flat = true
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[node name="Next" type="Button" parent="ToolBar/DocumentationNavigation"]
|
||||||
|
margin_left = 22.0
|
||||||
|
margin_right = 44.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
rect_min_size = Vector2( 22, 22 )
|
||||||
|
focus_mode = 0
|
||||||
|
disabled = true
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
flat = true
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
|
[node name="MainPanel" type="HSplitContainer" parent="."]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_top = 38.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="MasterTreeContainer" type="VBoxContainer" parent="MainPanel"]
|
||||||
|
margin_right = 150.0
|
||||||
|
margin_bottom = 562.0
|
||||||
|
|
||||||
|
[node name="FilterMasterTreeEdit" type="LineEdit" parent="MainPanel/MasterTreeContainer"]
|
||||||
|
margin_right = 150.0
|
||||||
|
margin_bottom = 26.0
|
||||||
|
clear_button_enabled = true
|
||||||
|
right_icon = SubResource( 2 )
|
||||||
|
placeholder_text = "Filter"
|
||||||
|
|
||||||
|
[node name="MasterTree" parent="MainPanel/MasterTreeContainer" instance=ExtResource( 35 )]
|
||||||
|
anchor_right = 0.0
|
||||||
|
anchor_bottom = 0.0
|
||||||
|
margin_top = 30.0
|
||||||
|
margin_right = 150.0
|
||||||
|
margin_bottom = 562.0
|
||||||
|
size_flags_vertical = 3
|
||||||
|
|
||||||
|
[node name="TimelineEditor" parent="MainPanel" instance=ExtResource( 2 )]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="CharacterEditor" parent="MainPanel" instance=ExtResource( 7 )]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="GlossaryEntryEditor" parent="MainPanel" instance=ExtResource( 9 )]
|
||||||
|
visible = false
|
||||||
|
anchor_right = 0.0
|
||||||
|
anchor_bottom = 0.0
|
||||||
|
margin_left = 162.0
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 562.0
|
||||||
|
|
||||||
|
[node name="ValueEditor" parent="MainPanel" instance=ExtResource( 12 )]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="ThemeEditor" parent="MainPanel" instance=ExtResource( 8 )]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="SettingsEditor" parent="MainPanel" instance=ExtResource( 6 )]
|
||||||
|
visible = false
|
||||||
|
anchor_right = 0.0
|
||||||
|
anchor_bottom = 0.0
|
||||||
|
margin_left = 192.0
|
||||||
|
margin_right = 1253.0
|
||||||
|
margin_bottom = 661.0
|
||||||
|
|
||||||
|
[node name="DocumentationViewer" parent="MainPanel" instance=ExtResource( 11 )]
|
||||||
|
visible = false
|
||||||
|
anchor_right = 0.0
|
||||||
|
anchor_bottom = 0.0
|
||||||
|
margin_left = 162.0
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 562.0
|
||||||
|
custom_styles/panel = SubResource( 5 )
|
||||||
|
|
||||||
|
[node name="Empty" type="CenterContainer" parent="MainPanel"]
|
||||||
|
margin_left = 162.0
|
||||||
|
margin_right = 1024.0
|
||||||
|
margin_bottom = 562.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="MainPanel/Empty"]
|
||||||
|
margin_left = 291.0
|
||||||
|
margin_top = 274.0
|
||||||
|
margin_right = 571.0
|
||||||
|
margin_bottom = 288.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="MainPanel/Empty/VBoxContainer"]
|
||||||
|
margin_right = 280.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Select or create an element to start working"
|
||||||
|
|
||||||
|
[node name="RemoveConfirmation" type="ConfirmationDialog" parent="."]
|
||||||
|
margin_right = 325.0
|
||||||
|
margin_bottom = 88.0
|
||||||
|
rect_min_size = Vector2( 250, 87.5 )
|
||||||
|
window_title = "Be sure you want to delete!"
|
||||||
|
dialog_text = "Are you sure you want to remove this [resource]?
|
||||||
|
(Can't be restored)"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="RemoveFolderConfirmation" type="ConfirmationDialog" parent="."]
|
||||||
|
margin_right = 325.0
|
||||||
|
margin_bottom = 88.0
|
||||||
|
rect_min_size = Vector2( 250, 87.5 )
|
||||||
|
window_title = "Be sure you want to delete this folder!"
|
||||||
|
dialog_text = "Are you sure you want to remove this folder and all the items contained in it?
|
||||||
|
(Can't be restored)"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
129
addons/dialogic/Editor/Events/AudioEvent.tscn
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
[gd_scene load_steps=10 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn" type="PackedScene" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/audio-event.svg" type="Texture" id=5]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=6]
|
||||||
|
|
||||||
|
[node name="AudioEvent" instance=ExtResource( 1 )]
|
||||||
|
margin_right = -705.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
event_name = "Audio Event"
|
||||||
|
event_data = {
|
||||||
|
"audio": "play",
|
||||||
|
"audio_bus": "Master",
|
||||||
|
"event_id": "dialogic_030",
|
||||||
|
"event_name": "AudioEvent",
|
||||||
|
"file": "",
|
||||||
|
"volume": 0.0
|
||||||
|
}
|
||||||
|
event_color = Color( 0.988235, 0.396078, 0.0784314, 1 )
|
||||||
|
event_icon = ExtResource( 5 )
|
||||||
|
header_scene = ExtResource( 2 )
|
||||||
|
body_scene = ExtResource( 3 )
|
||||||
|
expand_on_default = false
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md"
|
||||||
|
event_category = 3
|
||||||
|
sorting_index = 0
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 404.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 404.0
|
||||||
|
margin_bottom = 44.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 398.0
|
||||||
|
margin_bottom = 38.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 388.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"]
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.988235, 0.396078, 0.0784314, 1 )
|
||||||
|
margin_top = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_top = 9.0
|
||||||
|
margin_right = 76.0
|
||||||
|
margin_bottom = 23.0
|
||||||
|
text = "Audio Event"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 76.0
|
||||||
|
margin_right = 344.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 344.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 388.0
|
||||||
|
margin_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 388.0
|
||||||
|
margin_right = 388.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
margin_left = 401.0
|
||||||
|
margin_right = 431.0
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"]
|
||||||
|
margin_bottom = 62.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
margin_bottom = 28.0
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 6 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
113
addons/dialogic/Editor/Events/BackgroundMusic.tscn
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
[gd_scene load_steps=10 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioPickerComplex.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/background-music.svg" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=6]
|
||||||
|
|
||||||
|
[node name="BackgroundMusic" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Background Music"
|
||||||
|
event_data = {
|
||||||
|
"audio_bus": "Master",
|
||||||
|
"background-music": "play",
|
||||||
|
"event_id": "dialogic_031",
|
||||||
|
"event_name": "BackgroundMusic",
|
||||||
|
"fade_length": 1.0,
|
||||||
|
"file": "",
|
||||||
|
"volume": 0
|
||||||
|
}
|
||||||
|
event_color = Color( 0.988235, 0.396078, 0.0784314, 1 )
|
||||||
|
event_icon = ExtResource( 3 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
body_scene = ExtResource( 1 )
|
||||||
|
expand_on_default = false
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/030.md"
|
||||||
|
event_category = 3
|
||||||
|
sorting_index = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 444.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 444.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 438.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 428.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.988235, 0.396078, 0.0784314, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 116.0
|
||||||
|
text = "Background Music"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 116.0
|
||||||
|
margin_right = 384.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 384.0
|
||||||
|
margin_top = 17.0
|
||||||
|
margin_right = 428.0
|
||||||
|
margin_bottom = 47.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 428.0
|
||||||
|
margin_right = 428.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"]
|
||||||
|
margin_bottom = 66.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
margin_bottom = 32.0
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 6 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
92
addons/dialogic/Editor/Events/CallNode.tscn
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/call-node.svg" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/CallNode/CallNodePicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[node name="CallNode" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Call Node"
|
||||||
|
event_data = {
|
||||||
|
"call_node": {
|
||||||
|
"arguments": [ ],
|
||||||
|
"method_name": "",
|
||||||
|
"target_node_path": ""
|
||||||
|
},
|
||||||
|
"event_id": "dialogic_042"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
event_icon = ExtResource( 1 )
|
||||||
|
body_scene = ExtResource( 4 )
|
||||||
|
expand_on_default = false
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/042.md"
|
||||||
|
event_category = 4
|
||||||
|
sorting_index = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 131.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 131.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 125.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 115.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 61.0
|
||||||
|
text = "Call Node"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 61.0
|
||||||
|
margin_right = 71.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 71.0
|
||||||
|
margin_top = 17.0
|
||||||
|
margin_right = 115.0
|
||||||
|
margin_bottom = 47.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 115.0
|
||||||
|
margin_right = 115.0
|
||||||
|
|
||||||
|
[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"]
|
||||||
|
margin_bottom = 88.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
margin_bottom = 54.0
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
86
addons/dialogic/Editor/Events/ChangeBackground.tscn
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPreview.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=4]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-background.svg" type="Texture" id=6]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Images/BackgroundPicker.tscn" type="PackedScene" id=7]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[node name="ChangeBackground" instance=ExtResource( 4 )]
|
||||||
|
event_name = "Change Background"
|
||||||
|
event_data = {
|
||||||
|
"background": "",
|
||||||
|
"event_id": "dialogic_021"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.964706, 0.239216, 0.403922, 1 )
|
||||||
|
event_icon = ExtResource( 6 )
|
||||||
|
header_scene = ExtResource( 7 )
|
||||||
|
body_scene = ExtResource( 1 )
|
||||||
|
expand_on_default = false
|
||||||
|
event_category = 3
|
||||||
|
sorting_index = 3
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 395.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 395.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 389.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 379.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.964706, 0.239216, 0.403922, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 6 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 124.0
|
||||||
|
text = "Change Background"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 124.0
|
||||||
|
margin_right = 379.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
margin_left = 535.0
|
||||||
|
margin_right = 587.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 379.0
|
||||||
|
margin_right = 379.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
margin_left = 924.0
|
||||||
|
margin_right = 954.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
73
addons/dialogic/Editor/Events/ChangeScene.tscn
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-scene.svg" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Scenes/ScenePicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[node name="ChangeScene" instance=ExtResource( 1 )]
|
||||||
|
event_name = "Change Scene"
|
||||||
|
event_data = {
|
||||||
|
"change_scene": "",
|
||||||
|
"event_id": "dialogic_041"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
event_icon = ExtResource( 3 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/041.md"
|
||||||
|
event_category = 4
|
||||||
|
sorting_index = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 355.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 355.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 349.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 339.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 88.0
|
||||||
|
text = "Change Scene"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 88.0
|
||||||
|
margin_right = 339.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 339.0
|
||||||
|
margin_right = 339.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
69
addons/dialogic/Editor/Events/ChangeTimeline.tscn
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/change-timeline.svg" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Timelines/TimelinePicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="ChangeTimeline" instance=ExtResource( 1 )]
|
||||||
|
event_name = "Change Timeline"
|
||||||
|
event_data = {
|
||||||
|
"change_timeline": "",
|
||||||
|
"event_id": "dialogic_020"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
event_icon = ExtResource( 3 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
event_category = 2
|
||||||
|
sorting_index = 0
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 361.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 361.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 355.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 345.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 106.0
|
||||||
|
text = "Change Timeline"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 106.0
|
||||||
|
margin_right = 345.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 345.0
|
||||||
|
margin_right = 345.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 4 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
123
addons/dialogic/Editor/Events/Character.tscn
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/CharacterAction.tscn" type="PackedScene" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Character/CharacterActionSettings.tscn" type="PackedScene" id=4]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/character.svg" type="Texture" id=5]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=3]
|
||||||
|
|
||||||
|
[node name="Character" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Character"
|
||||||
|
event_data = {
|
||||||
|
"animation": "[Default]",
|
||||||
|
"animation_length": 0.0,
|
||||||
|
"change_mirror_portrait": false,
|
||||||
|
"change_z_index": false,
|
||||||
|
"character": "",
|
||||||
|
"event_id": "dialogic_002",
|
||||||
|
"mirror_portrait": false,
|
||||||
|
"portrait": "",
|
||||||
|
"portrait_definition": "",
|
||||||
|
"position": {
|
||||||
|
"0": false,
|
||||||
|
"1": false,
|
||||||
|
"2": false,
|
||||||
|
"3": false,
|
||||||
|
"4": false
|
||||||
|
},
|
||||||
|
"type": 0,
|
||||||
|
"z_index": 0
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
event_icon = ExtResource( 5 )
|
||||||
|
header_scene = ExtResource( 3 )
|
||||||
|
body_scene = ExtResource( 4 )
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/002.md"
|
||||||
|
sorting_index = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 370.0
|
||||||
|
margin_bottom = 104.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 370.0
|
||||||
|
margin_bottom = 104.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 364.0
|
||||||
|
margin_bottom = 98.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 354.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="0"]
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
margin_top = 16.0
|
||||||
|
margin_bottom = 16.0
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_top = 9.0
|
||||||
|
margin_right = 60.0
|
||||||
|
margin_bottom = 23.0
|
||||||
|
text = "Character"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 60.0
|
||||||
|
margin_right = 310.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 310.0
|
||||||
|
margin_top = 1.0
|
||||||
|
margin_right = 354.0
|
||||||
|
margin_bottom = 31.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 354.0
|
||||||
|
margin_right = 354.0
|
||||||
|
margin_bottom = 32.0
|
||||||
|
|
||||||
|
[node name="Body" parent="PanelContainer/MarginContainer/VBoxContainer" index="1"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 0.0
|
||||||
|
margin_top = 36.0
|
||||||
|
margin_right = 354.0
|
||||||
|
margin_bottom = 92.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 354.0
|
||||||
|
margin_bottom = 56.0
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 3 )
|
||||||
|
items = [ "Documentation", SubResource( 2 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 2 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 2 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 2 ), 0, false, false, 5, 0, null, "", false ]
|
97
addons/dialogic/Editor/Events/Choice.tscn
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/choice.svg" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ChoicePicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[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=2]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 4 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=6]
|
||||||
|
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( 6 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="Choice" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Choice"
|
||||||
|
event_data = {
|
||||||
|
"choice": "",
|
||||||
|
"condition": "",
|
||||||
|
"definition": "",
|
||||||
|
"event_id": "dialogic_011",
|
||||||
|
"value": ""
|
||||||
|
}
|
||||||
|
event_color = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
event_icon = ExtResource( 1 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
expand_on_default = false
|
||||||
|
needs_indentation = true
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/011.md"
|
||||||
|
event_category = 1
|
||||||
|
sorting_index = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 320.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 320.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 314.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 304.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
visible = true
|
||||||
|
hint_tooltip = "This event needs a question event around it!"
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 43.0
|
||||||
|
text = "Choice"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 43.0
|
||||||
|
margin_right = 304.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 304.0
|
||||||
|
margin_right = 304.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
69
addons/dialogic/Editor/Events/CloseDialog.tscn
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/close-dialog.svg" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Numbers/TransitonLengthPicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="CloseDialog" instance=ExtResource( 1 )]
|
||||||
|
event_name = "Close Dialog"
|
||||||
|
event_data = {
|
||||||
|
"event_id": "dialogic_022",
|
||||||
|
"transition_duration": 1.0
|
||||||
|
}
|
||||||
|
event_color = Color( 0.941176, 0.266667, 0.219608, 1 )
|
||||||
|
event_icon = ExtResource( 2 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
event_category = 2
|
||||||
|
sorting_index = 4
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 300.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 300.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 294.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 284.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.941176, 0.266667, 0.219608, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 79.0
|
||||||
|
text = "Close Dialog"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 79.0
|
||||||
|
margin_right = 284.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 284.0
|
||||||
|
margin_right = 284.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 4 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
90
addons/dialogic/Editor/Events/Condition.tscn
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/condition.svg" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/ConditionPicker.tscn" type="PackedScene" id=4]
|
||||||
|
|
||||||
|
[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=2]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 4 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=6]
|
||||||
|
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( 6 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="Condition" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Condition"
|
||||||
|
event_data = {
|
||||||
|
"condition": "",
|
||||||
|
"definition": "",
|
||||||
|
"event_id": "dialogic_012",
|
||||||
|
"value": ""
|
||||||
|
}
|
||||||
|
event_color = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
event_icon = ExtResource( 1 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/012.md"
|
||||||
|
show_name_in_timeline = false
|
||||||
|
event_category = 1
|
||||||
|
sorting_index = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 370.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 370.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 364.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 354.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 354.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 146.0
|
||||||
|
margin_right = 210.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
margin_left = 354.0
|
||||||
|
margin_right = 354.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
75
addons/dialogic/Editor/Events/DummyEvent.tscn
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/DummyEventDataShower.tscn" type="PackedScene" id=2]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=7]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=8]
|
||||||
|
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=6]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 8 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="DummyEvent" instance=ExtResource( 1 )]
|
||||||
|
event_name = "Event couldn't be found. The data will be preserved in this dummy."
|
||||||
|
event_data = {
|
||||||
|
"event_id": ""
|
||||||
|
}
|
||||||
|
event_color = Color( 1, 0.278431, 0.447059, 1 )
|
||||||
|
body_scene = ExtResource( 2 )
|
||||||
|
expand_on_default = false
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 497.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 497.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 491.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 481.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 1, 0.278431, 0.447059, 1 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 427.0
|
||||||
|
text = "Event couldn't be found. The data will be preserved in this dummy."
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 427.0
|
||||||
|
margin_right = 437.0
|
||||||
|
|
||||||
|
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="3"]
|
||||||
|
visible = true
|
||||||
|
margin_left = 437.0
|
||||||
|
margin_top = 17.0
|
||||||
|
margin_right = 481.0
|
||||||
|
margin_bottom = 47.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 481.0
|
||||||
|
margin_right = 481.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
margin_left = 924.0
|
||||||
|
margin_right = 954.0
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Body" index="0"]
|
||||||
|
custom_constants/margin_left = 0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 7 )
|
||||||
|
items = [ "Documentation", SubResource( 6 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 6 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 6 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 6 ), 0, false, false, 5, 0, null, "", false ]
|
73
addons/dialogic/Editor/Events/EmitSignal.tscn
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/emit-signal.svg" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Text/SignalArgumentPicker.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=3]
|
||||||
|
|
||||||
|
[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 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[node name="EmitSignal" instance=ExtResource( 3 )]
|
||||||
|
event_name = "Emit Signal"
|
||||||
|
event_data = {
|
||||||
|
"emit_signal": "",
|
||||||
|
"event_id": "dialogic_040"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
event_icon = ExtResource( 1 )
|
||||||
|
header_scene = ExtResource( 2 )
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/040.md"
|
||||||
|
event_category = 4
|
||||||
|
sorting_index = 0
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 457.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 457.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 451.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 441.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0470588, 0.647059, 0.921569, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
|
||||||
|
[node name="Warning" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="1"]
|
||||||
|
texture = SubResource( 3 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 70.0
|
||||||
|
text = "Emit Signal"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 70.0
|
||||||
|
margin_right = 441.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 441.0
|
||||||
|
margin_right = 441.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
74
addons/dialogic/Editor/Events/EndBranch.tscn
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/end-branch.svg" type="Texture" id=5]
|
||||||
|
|
||||||
|
[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=2]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 4 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=6]
|
||||||
|
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( 6 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="EndBranch" instance=ExtResource( 1 )]
|
||||||
|
event_name = "End Branch"
|
||||||
|
event_data = {
|
||||||
|
"event_id": "dialogic_013"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
event_icon = ExtResource( 5 )
|
||||||
|
help_page_path = "res://addons/dialogic/Documentation/Content/Events/013.md"
|
||||||
|
event_category = 1
|
||||||
|
sorting_index = 3
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.619608, 0.466667, 0.92549, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 71.0
|
||||||
|
text = "End Branch"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 71.0
|
||||||
|
margin_right = 81.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 81.0
|
||||||
|
|
||||||
|
[node name="HelpButton" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="5"]
|
||||||
|
margin_left = 924.0
|
||||||
|
margin_right = 954.0
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 5 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
70
addons/dialogic/Editor/Events/GoTo Event.tscn
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/GoTo Selector.tscn" type="PackedScene" id=4]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/go-to.svg" type="Texture" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="GoTo Event" instance=ExtResource( 1 )]
|
||||||
|
event_name = "Go to"
|
||||||
|
event_data = {
|
||||||
|
"anchor_id": "",
|
||||||
|
"event_id": "dialogic_016"
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
event_icon = ExtResource( 5 )
|
||||||
|
header_scene = ExtResource( 4 )
|
||||||
|
expand_on_default = false
|
||||||
|
event_category = 2
|
||||||
|
sorting_index = 2
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 209.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 209.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 203.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 193.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 35.0
|
||||||
|
text = "Go to"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 35.0
|
||||||
|
margin_right = 193.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 193.0
|
||||||
|
margin_right = 193.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 4 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
72
addons/dialogic/Editor/Events/LabelEvent.tscn
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventTemplate.tscn" type="PackedScene" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Logic/LabelSetter.tscn" type="PackedScene" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Images/Event Icons/Main Icons/label.svg" type="Texture" id=5]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="Image" id=5]
|
||||||
|
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( 5 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="LabelEvent" instance=ExtResource( 2 )]
|
||||||
|
event_name = "Label"
|
||||||
|
event_data = {
|
||||||
|
"event_id": "dialogic_015",
|
||||||
|
"id": "anchor-1634488067",
|
||||||
|
"index": 0,
|
||||||
|
"name": ""
|
||||||
|
}
|
||||||
|
event_color = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
event_icon = ExtResource( 5 )
|
||||||
|
header_scene = ExtResource( 3 )
|
||||||
|
expand_on_default = false
|
||||||
|
event_category = 2
|
||||||
|
sorting_index = 1
|
||||||
|
|
||||||
|
[node name="PanelContainer" parent="." index="1"]
|
||||||
|
margin_right = 274.0
|
||||||
|
|
||||||
|
[node name="MarginContainer" parent="PanelContainer" index="1"]
|
||||||
|
margin_right = 274.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer" parent="PanelContainer/MarginContainer" index="0"]
|
||||||
|
margin_right = 268.0
|
||||||
|
|
||||||
|
[node name="Header" parent="PanelContainer/MarginContainer/VBoxContainer" index="0"]
|
||||||
|
margin_right = 258.0
|
||||||
|
|
||||||
|
[node name="IconPanel" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer" index="0"]
|
||||||
|
self_modulate = Color( 0.0705882, 0.717647, 0.415686, 1 )
|
||||||
|
|
||||||
|
[node name="IconTexture" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel" index="0"]
|
||||||
|
self_modulate = Color( 0, 0, 0, 1 )
|
||||||
|
texture = ExtResource( 5 )
|
||||||
|
|
||||||
|
[node name="TitleLabel" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="1"]
|
||||||
|
margin_right = 34.0
|
||||||
|
text = "Label"
|
||||||
|
|
||||||
|
[node name="Content" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="2"]
|
||||||
|
margin_left = 34.0
|
||||||
|
margin_right = 258.0
|
||||||
|
|
||||||
|
[node name="Spacer" parent="PanelContainer/MarginContainer/VBoxContainer/Header" index="4"]
|
||||||
|
margin_left = 258.0
|
||||||
|
margin_right = 258.0
|
||||||
|
|
||||||
|
[node name="PopupMenu" parent="." index="2"]
|
||||||
|
custom_styles/hover = SubResource( 4 )
|
||||||
|
items = [ "Documentation", SubResource( 3 ), 0, false, false, 0, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Move up", SubResource( 3 ), 0, false, false, 2, 0, null, "", false, "Move down", SubResource( 3 ), 0, false, false, 3, 0, null, "", false, "", null, 0, false, false, -1, 0, null, "", true, "Delete", SubResource( 3 ), 0, false, false, 5, 0, null, "", false ]
|
|
@ -0,0 +1,50 @@
|
||||||
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/ResourcePickers/Files/FilePicker.tscn" type="PackedScene" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioFilePicker.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonHover.tres" type="StyleBox" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/styles/SimpleButtonNormal.tres" type="StyleBox" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxEmpty" id=3]
|
||||||
|
|
||||||
|
[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=2]
|
||||||
|
flags = 4
|
||||||
|
flags = 4
|
||||||
|
image = SubResource( 4 )
|
||||||
|
size = Vector2( 16, 16 )
|
||||||
|
|
||||||
|
[node name="AudioFilePicker" type="HBoxContainer"]
|
||||||
|
margin_right = 181.0
|
||||||
|
margin_bottom = 22.0
|
||||||
|
script = ExtResource( 2 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="FilePicker" parent="." instance=ExtResource( 1 )]
|
||||||
|
margin_top = 0.0
|
||||||
|
margin_right = 162.0
|
||||||
|
margin_bottom = 22.0
|
||||||
|
Mode = "Audio"
|
||||||
|
|
||||||
|
[node name="ButtonPreviewPlay" type="Button" parent="."]
|
||||||
|
margin_left = 166.0
|
||||||
|
margin_right = 188.0
|
||||||
|
margin_bottom = 22.0
|
||||||
|
size_flags_vertical = 4
|
||||||
|
custom_styles/hover = ExtResource( 3 )
|
||||||
|
custom_styles/pressed = ExtResource( 3 )
|
||||||
|
custom_styles/focus = SubResource( 3 )
|
||||||
|
custom_styles/normal = ExtResource( 4 )
|
||||||
|
icon = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="AudioPreview" type="AudioStreamPlayer" parent="."]
|
151
addons/dialogic/Editor/Events/Parts/Audio/AudioPicker.tscn
Normal file
|
@ -0,0 +1,151 @@
|
||||||
|
[gd_scene load_steps=5 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/EventPart_AudioPicker.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/styles/SectionPanel.tres" type="StyleBox" id=2]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/Audio/AudioFilePicker.tscn" type="PackedScene" id=3]
|
||||||
|
[ext_resource path="res://addons/dialogic/Editor/Events/styles/InputFieldsStyle.tres" type="Theme" id=4]
|
||||||
|
|
||||||
|
[node name="AudioPicker" type="PanelContainer"]
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
margin_right = -718.0
|
||||||
|
margin_bottom = -580.0
|
||||||
|
theme = ExtResource( 4 )
|
||||||
|
custom_styles/panel = ExtResource( 2 )
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
event_name = "AudioEvent"
|
||||||
|
|
||||||
|
[node name="VBox" type="VBoxContainer" parent="."]
|
||||||
|
margin_left = 6.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 300.0
|
||||||
|
margin_bottom = 66.0
|
||||||
|
|
||||||
|
[node name="AudioFilePicker" parent="VBox" instance=ExtResource( 3 )]
|
||||||
|
visible = false
|
||||||
|
margin_right = 294.0
|
||||||
|
|
||||||
|
[node name="adv_settings" type="HBoxContainer" parent="VBox"]
|
||||||
|
margin_right = 294.0
|
||||||
|
margin_bottom = 61.0
|
||||||
|
custom_constants/separation = 8
|
||||||
|
|
||||||
|
[node name="AudioVolume" type="PanelContainer" parent="VBox/adv_settings"]
|
||||||
|
margin_right = 88.0
|
||||||
|
margin_bottom = 61.0
|
||||||
|
custom_styles/panel = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioVolume"]
|
||||||
|
margin_left = 6.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 82.0
|
||||||
|
margin_bottom = 57.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBox/adv_settings/AudioVolume/VBox"]
|
||||||
|
margin_right = 76.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Volume:"
|
||||||
|
|
||||||
|
[node name="Volume" type="SpinBox" parent="VBox/adv_settings/AudioVolume/VBox"]
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_right = 76.0
|
||||||
|
margin_bottom = 52.0
|
||||||
|
min_value = -80.0
|
||||||
|
max_value = 24.0
|
||||||
|
step = 0.01
|
||||||
|
suffix = "dB"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="AudioBus" type="PanelContainer" parent="VBox/adv_settings"]
|
||||||
|
margin_left = 96.0
|
||||||
|
margin_right = 181.0
|
||||||
|
margin_bottom = 61.0
|
||||||
|
custom_styles/panel = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioBus"]
|
||||||
|
margin_left = 6.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 79.0
|
||||||
|
margin_bottom = 57.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBox/adv_settings/AudioBus/VBox"]
|
||||||
|
margin_right = 73.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "AudioBus:"
|
||||||
|
|
||||||
|
[node name="BusSelector" type="OptionButton" parent="VBox/adv_settings/AudioBus/VBox"]
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_right = 73.0
|
||||||
|
margin_bottom = 38.0
|
||||||
|
size_flags_vertical = 5
|
||||||
|
text = "Master"
|
||||||
|
items = [ "Master", null, false, 0, null ]
|
||||||
|
selected = 0
|
||||||
|
|
||||||
|
[node name="AudioRegion" type="PanelContainer" parent="VBox/adv_settings"]
|
||||||
|
visible = false
|
||||||
|
margin_left = 187.0
|
||||||
|
margin_right = 419.0
|
||||||
|
margin_bottom = 51.0
|
||||||
|
custom_styles/panel = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="VBox" type="VBoxContainer" parent="VBox/adv_settings/AudioRegion"]
|
||||||
|
margin_left = 6.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 226.0
|
||||||
|
margin_bottom = 47.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="VBox/adv_settings/AudioRegion/VBox"]
|
||||||
|
margin_right = 220.0
|
||||||
|
margin_bottom = 14.0
|
||||||
|
text = "Audio-region:"
|
||||||
|
|
||||||
|
[node name="HBox" type="HBoxContainer" parent="VBox/adv_settings/AudioRegion/VBox"]
|
||||||
|
margin_top = 18.0
|
||||||
|
margin_right = 220.0
|
||||||
|
margin_bottom = 42.0
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="StartAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"]
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 33.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "Start:"
|
||||||
|
|
||||||
|
[node name="StartAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"]
|
||||||
|
margin_left = 37.0
|
||||||
|
margin_right = 111.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Leave both at 0 to use the whole file."
|
||||||
|
max_value = 9999.0
|
||||||
|
step = 0.1
|
||||||
|
suffix = "sec"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="StopAtLabel" type="Label" parent="VBox/adv_settings/AudioRegion/VBox/HBox"]
|
||||||
|
margin_left = 115.0
|
||||||
|
margin_top = 5.0
|
||||||
|
margin_right = 142.0
|
||||||
|
margin_bottom = 19.0
|
||||||
|
text = "End:"
|
||||||
|
|
||||||
|
[node name="StopAt" type="SpinBox" parent="VBox/adv_settings/AudioRegion/VBox/HBox"]
|
||||||
|
margin_left = 146.0
|
||||||
|
margin_right = 220.0
|
||||||
|
margin_bottom = 24.0
|
||||||
|
hint_tooltip = "Leave both at 0 to use the whole file."
|
||||||
|
max_value = 9999.0
|
||||||
|
step = 0.1
|
||||||
|
suffix = "sec"
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|