Add addons

This commit is contained in:
Joey Yakimowich-Payne 2023-01-03 16:53:53 -07:00
commit 3367bad24f
No known key found for this signature in database
GPG key ID: 6BFE655FA5ABD1E1
527 changed files with 36197 additions and 0 deletions

View file

@ -0,0 +1,99 @@
@tool
extends HBoxContainer
signal colors_changed
var color_palette = null
func _ready():
var s = DCSS.inline({
'padding': 5,
'background': Color(0.545098, 0.545098, 0.545098, 0.211765)
})
$General/TitleLabel.add_theme_stylebox_override("normal", s)
$General/TitleLabel2.add_theme_stylebox_override("normal", s)
# Signals
%TestingSceneButton.pressed.connect(_on_TestingSceneButton_pressed)
%DefaultSceneButton.pressed.connect(_on_DefaultSceneButton_pressed)
%CustomEventsFolderButton.pressed.connect(_on_CustomEventsFolderButton_pressed)
%PhysicsTimerButton.pressed.connect(_on_physics_timer_button_toggled)
# Colors
%ResetColorsButton.button_up.connect(_on_reset_colors_button)
for n in $"%Colors".get_children():
n.color_changed.connect(_on_color_change.bind(n))
func refresh():
%CustomEventsFolderLabel.text = DialogicUtil.get_project_setting('dialogic/custom_events_folder', 'res://addons/dialogic_additions/Events')
%CustomEventsFolderButton.icon = get_theme_icon("Folder", "EditorIcons")
%TestingSceneButton.icon = get_theme_icon("Folder", "EditorIcons")
%TestingSceneLabel.text = DialogicUtil.get_project_setting('dialogic/editor/test_dialog_scene', "res://addons/dialogic/Example Assets/example-scenes/DialogicDefaultScene.tscn")
%PhysicsTimerButton.button_pressed = DialogicUtil.is_physics_timer()
%DefaultSceneButton.icon = get_theme_icon("Folder", "EditorIcons")
%DefaultSceneLabel.text = DialogicUtil.get_project_setting('dialogic/editor/default_dialog_scene', "res://addons/dialogic/Example Assets/example-scenes/DialogicDefaultScene.tscn")
# Color Palett
color_palette = DialogicUtil.get_color_palette()
var _scale = DialogicUtil.get_editor_scale()
for n in %Colors.get_children():
n.custom_minimum_size = Vector2(50 ,50)*scale
n.color = color_palette[n.name]
func _on_CustomEventsFolderButton_pressed() -> void:
find_parent('EditorView').godot_file_dialog(custom_events_folder_selected, '', EditorFileDialog.FILE_MODE_OPEN_DIR, 'Select custom events folder')
func custom_events_folder_selected(folder_path:String) -> void:
%CustomEventsFolderLabel.text = folder_path
ProjectSettings.set_setting('dialogic/custom_events_folder', folder_path)
ProjectSettings.save()
func _on_color_change(color: Color, who) -> void:
ProjectSettings.set_setting('dialogic/editor/' + str(who.name), color)
ProjectSettings.save()
emit_signal('colors_changed')
func _on_reset_colors_button() -> void:
color_palette = DialogicUtil.get_color_palette(true)
for n in %Colors.get_children():
n.color = color_palette[n.name]
# There is a bug when trying to remove existing values, so we have to
# set/create new entries for all the colors used.
# If you manage to make it work using the ProjectSettings.clear()
# feel free to open a PR!
ProjectSettings.set_setting('dialogic/editor/' + str(n.name), color_palette[n.name])
ProjectSettings.save()
emit_signal('colors_changed')
func _on_TestingSceneButton_pressed() -> void:
find_parent('EditorView').godot_file_dialog(custom_testing_scene_selected, '*.tscn, *.scn', EditorFileDialog.FILE_MODE_OPEN_FILE, 'Select testing scene')
func custom_testing_scene_selected(path:String) -> void:
%TestingSceneLabel.text = path
ProjectSettings.set_setting('dialogic/editor/test_dialog_scene', path)
ProjectSettings.save()
func _on_DefaultSceneButton_pressed() -> void:
find_parent('EditorView').godot_file_dialog(custom_default_scene_selected, '*.tscn, *.scn', EditorFileDialog.FILE_MODE_OPEN_FILE, 'Select default scene')
func custom_default_scene_selected(path:String) -> void:
%DefaultSceneLabel.text = path
ProjectSettings.set_setting('dialogic/editor/default_dialog_scene', path)
ProjectSettings.save()
func _on_physics_timer_button_toggled(button_pressed:bool) -> void:
ProjectSettings.set_setting('dialogic/timer/process_in_physics', button_pressed)
ProjectSettings.save()