Initial Android commit

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

View file

@ -0,0 +1,307 @@
tool
extends HBoxContainer
export (String) var event_name:String = "Event name"
export (Dictionary) var event_data:Dictionary = {"event_id":"dialogic_000"}
export (Color) var event_color:Color = Color(0.6, 0.6, 0.6, 1)
export (Texture) var event_icon:Texture
export (PackedScene) var header_scene:PackedScene
export (PackedScene) var body_scene:PackedScene
export (bool) var expand_on_default: = false
export (bool) var needs_indentation: = false
export (String) var help_page_path: = ""
export (bool) var show_name_in_timeline: = true
export (int, "Main", "Logic", "Timeline", "Audio/Visual", "Godot") var event_category = 0
export (int) var sorting_index = - 1
signal option_action(action_name)
onready var panel = $PanelContainer
onready var selected_style = $PanelContainer / SelectedStyle
onready var warning = $PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer / IconPanel / Warning
onready var title_label = $PanelContainer / MarginContainer / VBoxContainer / Header / TitleLabel
onready var icon_texture = $PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer / IconPanel / IconTexture
onready var expand_control = $PanelContainer / MarginContainer / VBoxContainer / Header / ExpandControl
onready var header_content_container = $PanelContainer / MarginContainer / VBoxContainer / Header / Content
onready var body_container = $PanelContainer / MarginContainer / VBoxContainer / Body
onready var body_content_container = $PanelContainer / MarginContainer / VBoxContainer / Body / Content
onready var indent_node = $Indent
onready var help_button = $PanelContainer / MarginContainer / VBoxContainer / Header / HelpButton
var header_node
var body_node
var editor_reference
var indent_size = 45
var current_indent_level = 1
var ignore_save = false
func visual_select():
selected_style.show()
func visual_deselect():
if selected_style:
selected_style.hide()
func load_data(data):
event_data = data
func focus():
if get_header():
get_header().focus()
if get_body():
get_body().focus()
func get_body():
return body_node
func get_header():
return header_node
func set_warning(text):
warning.show()
warning.hint_tooltip = text
func remove_warning(text = ""):
if warning.hint_tooltip == text or text == "":
warning.hide()
func set_preview(text:String):
expand_control.set_preview(text)
func set_indent(indent:int):
indent_node.rect_min_size = Vector2(indent_size * indent, 0)
indent_node.visible = indent != 0
current_indent_level = indent
update()
func set_expanded(expanded:bool):
expand_control.set_expanded(expanded)
func _set_event_icon(icon:Texture):
icon_texture.texture = icon
var _scale = DialogicUtil.get_editor_scale(self)
var cpanel = $PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer
var ip = $PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer / IconPanel
var ipc = $PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer / IconPanel / IconTexture
ipc.self_modulate = Color(1, 1, 1, 1)
if not get_constant("dark_theme", "Editor"):
icon_texture.self_modulate = get_color("font_color", "Editor")
var icon_size = 38
cpanel.rect_min_size = Vector2(icon_size, icon_size) * _scale
ip.rect_min_size = cpanel.rect_min_size
ipc.rect_min_size = ip.rect_min_size
func _set_event_name(text:String):
if show_name_in_timeline:
title_label.text = text
else :
var t_label = get_node_or_null("PanelContainer/MarginContainer/VBoxContainer/Header/TitleLabel")
if t_label:
t_label.queue_free()
func _set_header(scene:PackedScene):
header_node = _set_content(header_content_container, scene)
func _set_body(scene:PackedScene):
body_node = _set_content(body_content_container, scene)
expand_control.set_enabled(body_node != null)
func _setup_event():
if event_icon != null:
_set_event_icon(event_icon)
if event_name != null:
_set_event_name(event_name)
if header_scene != null:
_set_header(header_scene)
if body_scene != null:
_set_body(body_scene)
body_content_container.add_constant_override("margin_left", 40 * DialogicUtil.get_editor_scale(self))
if event_color != null:
$PanelContainer / MarginContainer / VBoxContainer / Header / CenterContainer / IconPanel.set("self_modulate", event_color)
func _set_content(container:Control, scene:PackedScene):
for c in container.get_children():
container.remove_child(c)
if scene != null:
var node = scene.instance()
node.editor_reference = editor_reference
container.add_child(node)
return node
return null
func _on_ExpandControl_state_changed(expanded:bool):
if expanded:
if body_node:
body_container.show()
else :
if body_node:
body_container.hide()
expand_control.set_preview(body_node.get_preview())
func _on_OptionsControl_action(index):
if index == 0:
if help_page_path:
var master_tree = editor_reference.get_node_or_null("MainPanel/MasterTreeContainer/MasterTree")
master_tree.select_documentation_item(help_page_path)
elif index == 2:
emit_signal("option_action", "up")
elif index == 3:
emit_signal("option_action", "down")
elif index == 5:
emit_signal("option_action", "remove")
func _on_Indent_visibility_changed():
if not indent_node:
return
if needs_indentation:
if indent_node.visible:
remove_warning("This event needs a question event around it!")
else :
set_warning("This event needs a question event around it!")
func _on_gui_input(event):
if event is InputEventMouseButton and event.is_pressed() and event.button_index == 1:
grab_focus()
if event.doubleclick and expand_control.enabled:
expand_control.set_expanded( not expand_control.expanded)
if event is InputEventMouseButton:
if event.button_index == BUTTON_RIGHT and event.pressed:
$PopupMenu.rect_global_position = get_global_mouse_position()
var popup = $PopupMenu.popup()
func _on_Header_data_changed(new_event_data):
event_data = new_event_data
if get_body():
get_body().load_data(event_data)
func _on_Body_data_changed(new_event_data):
event_data = new_event_data
if get_header():
get_header().load_data(event_data)
func _request_set_body_enabled(enabled:bool):
expand_control.set_enabled(enabled)
if get_body():
get_body().visible = enabled
func _request_selection():
var timeline_editor = editor_reference.get_node_or_null("MainPanel/TimelineEditor")
if (timeline_editor != null):
timeline_editor.select_item(self)
func _ready():
$PanelContainer / SelectedStyle.modulate = get_color("accent_color", "Editor")
warning.texture = get_icon("NodeWarning", "EditorIcons")
title_label.add_color_override("font_color", Color.white)
if not get_constant("dark_theme", "Editor"):
title_label.add_color_override("font_color", get_color("font_color", "Editor"))
indent_size = indent_size * DialogicUtil.get_editor_scale(self)
_setup_event()
set_focus_mode(1)
panel.connect("gui_input", self, "_on_gui_input")
expand_control.connect("state_changed", self, "_on_ExpandControl_state_changed")
$PopupMenu.connect("index_pressed", self, "_on_OptionsControl_action")
if get_header():
get_header().connect("data_changed", self, "_on_Header_data_changed")
get_header().connect("request_open_body", expand_control, "set_expanded", [true])
get_header().connect("request_close_body", expand_control, "set_expanded", [false])
get_header().connect("request_selection", self, "_request_selection")
get_header().connect("request_set_body_enabled", self, "_request_set_body_enabled")
get_header().connect("set_warning", self, "set_warning")
get_header().connect("remove_warning", self, "remove_warning")
get_header().load_data(event_data)
if get_body():
get_body().connect("data_changed", self, "_on_Body_data_changed")
get_body().connect("request_open_body", expand_control, "set_expanded", [true])
get_body().connect("request_close_body", expand_control, "set_expanded", [false])
get_body().connect("request_set_body_enabled", self, "_request_set_body_enabled")
get_body().connect("request_selection", self, "_request_selection")
get_body().connect("set_warning", self, "set_warning")
get_body().connect("remove_warning", self, "remove_warning")
get_body().load_data(event_data)
if get_body():
set_expanded(expand_on_default)
_on_Indent_visibility_changed()

View file

@ -0,0 +1,210 @@
[gd_scene load_steps=12 format=2]
[ext_resource path="res://addons/dialogic/Editor/Events/Templates/EventBlock.gd" type="Script" id=1]
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/ExpandControl.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/selected_styleboxflat.tres" type="StyleBox" id=3]
[ext_resource path="res://addons/dialogic/Editor/Events/styles/ResourceMenuPanelBackground.tres" type="StyleBox" id=5]
[ext_resource path="res://addons/dialogic/Images/Plugin/plugin-editor-icon-dark-theme.svg" type="Texture" id=6]
[ext_resource path="res://addons/dialogic/Images/Event Icons/event-outline.svg" type="Texture" id=7]
[ext_resource path="res://addons/dialogic/Editor/Events/Parts/EventBlock/PopupMenu.gd" type="Script" id=8]
[sub_resource type="StyleBoxFlat" id=1]
bg_color = Color( 0.6, 0.6, 0.6, 0 )
[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 )
[sub_resource type="StyleBoxEmpty" id=4]
[node name="EventTemplate" type="HBoxContainer"]
anchor_right = 1.0
margin_right = -922.0
margin_bottom = 76.0
focus_mode = 1
size_flags_horizontal = 3
size_flags_vertical = 9
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
event_name = ""
event_data = {
"event_id": "dialogic_000"
}
expand_on_default = true
[node name="Indent" type="Control" parent="."]
visible = false
margin_bottom = 64.0
[node name="PanelContainer" type="PanelContainer" parent="."]
margin_right = 102.0
margin_bottom = 76.0
mouse_filter = 1
size_flags_horizontal = 3
size_flags_vertical = 3
custom_styles/panel = SubResource( 1 )
[node name="SelectedStyle" type="Panel" parent="PanelContainer"]
visible = false
modulate = Color( 0, 0, 0, 1 )
margin_right = 76.0
margin_bottom = 50.0
custom_styles/panel = ExtResource( 3 )
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
margin_right = 102.0
margin_bottom = 76.0
mouse_filter = 1
size_flags_vertical = 3
custom_constants/margin_right = 6
custom_constants/margin_top = 6
custom_constants/margin_left = 10
custom_constants/margin_bottom = 6
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer"]
margin_left = 10.0
margin_top = 6.0
margin_right = 96.0
margin_bottom = 70.0
rect_min_size = Vector2( 0, 30 )
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Header" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
margin_right = 86.0
margin_bottom = 64.0
rect_min_size = Vector2( 0, 32 )
size_flags_horizontal = 3
size_flags_vertical = 3
custom_constants/separation = 0
[node name="CenterContainer" type="CenterContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header"]
margin_bottom = 64.0
mouse_filter = 1
[node name="IconPanel" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer"]
self_modulate = Color( 0.6, 0.6, 0.6, 1 )
margin_top = 32.0
margin_bottom = 32.0
mouse_default_cursor_shape = 6
texture = ExtResource( 7 )
expand = true
stretch_mode = 1
[node name="IconTexture" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel"]
anchor_left = 1.0
anchor_right = 1.0
grow_horizontal = 0
size_flags_horizontal = 3
size_flags_vertical = 3
texture = ExtResource( 6 )
expand = true
stretch_mode = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Warning" type="TextureRect" parent="PanelContainer/MarginContainer/VBoxContainer/Header/CenterContainer/IconPanel"]
visible = false
margin_left = -9.19241
margin_top = -4.24266
margin_right = 12.8076
margin_bottom = 17.7573
hint_tooltip = "Choice events should go
between a [Question]
and [End branch] events.
[Question]
[Choice]
[...]
[End branch]"
texture = SubResource( 3 )
stretch_mode = 5
__meta__ = {
"_edit_use_anchors_": false
}
[node name="TitleLabel" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/Header"]
margin_top = 25.0
margin_bottom = 39.0
custom_colors/font_color = Color( 0, 0, 0, 1 )
[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Header"]
margin_right = 10.0
margin_bottom = 64.0
mouse_filter = 1
custom_constants/margin_right = 5
custom_constants/margin_left = 5
[node name="ExpandControl" parent="PanelContainer/MarginContainer/VBoxContainer/Header" instance=ExtResource( 2 )]
margin_left = 178.0
margin_right = 242.0
[node name="Spacer" type="Control" parent="PanelContainer/MarginContainer/VBoxContainer/Header"]
margin_left = 10.0
margin_right = 86.0
margin_bottom = 64.0
mouse_filter = 1
size_flags_horizontal = 3
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HelpButton" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/Header"]
visible = false
margin_left = 90.0
margin_right = 120.0
margin_bottom = 30.0
rect_min_size = Vector2( 30, 30 )
hint_tooltip = "Open the documentation of this event"
flat = true
clip_text = true
expand_icon = true
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Body" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
visible = false
margin_left = 202.0
margin_top = 34.0
margin_right = 1012.0
margin_bottom = 42.0
custom_constants/separation = 0
[node name="Content" type="MarginContainer" parent="PanelContainer/MarginContainer/VBoxContainer/Body"]
margin_top = 4.0
margin_right = 1012.0
margin_bottom = 8.0
mouse_filter = 1
size_flags_horizontal = 3
size_flags_vertical = 3
custom_constants/margin_top = 2
custom_constants/margin_bottom = 2
[node name="PopupMenu" type="PopupMenu" parent="."]
margin_left = 38.0
margin_right = 133.0
margin_bottom = 88.0
custom_colors/font_color_hover = Color( 0, 0, 0, 1 )
custom_constants/vseparation = 0
custom_styles/hover = SubResource( 4 )
custom_styles/panel = ExtResource( 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 ]
script = ExtResource( 8 )
[connection signal="visibility_changed" from="Indent" to="." method="_on_Indent_visibility_changed"]
[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/Header/HelpButton" to="." method="_on_HelpButton_pressed"]