2025-01-03 08:07:35 +00:00
|
|
|
class_name BaseDialogueTestScene extends Node2D
|
|
|
|
|
2025-01-30 04:59:27 +00:00
|
|
|
|
2025-01-03 08:07:35 +00:00
|
|
|
const DialogueSettings = preload("./settings.gd")
|
|
|
|
const DialogueResource = preload("./dialogue_resource.gd")
|
|
|
|
|
2025-01-30 04:59:27 +00:00
|
|
|
|
2025-01-03 08:07:35 +00:00
|
|
|
@onready var title: String = DialogueSettings.get_user_value("run_title")
|
|
|
|
@onready var resource: DialogueResource = load(DialogueSettings.get_user_value("run_resource_path"))
|
|
|
|
|
|
|
|
|
|
|
|
func _ready():
|
2025-03-10 12:58:01 +00:00
|
|
|
# Is this running in Godot >=4.4?
|
|
|
|
if Engine.has_method("is_embedded_in_editor"):
|
|
|
|
if not Engine.call("is_embedded_in_editor"):
|
|
|
|
var window: Window = get_viewport()
|
|
|
|
var screen_index: int = DisplayServer.get_primary_screen()
|
|
|
|
window.position = Vector2(DisplayServer.screen_get_position(screen_index)) + (DisplayServer.screen_get_size(screen_index) - window.size) * 0.5
|
|
|
|
window.mode = Window.MODE_WINDOWED
|
|
|
|
else:
|
|
|
|
var screen_index: int = DisplayServer.get_primary_screen()
|
|
|
|
DisplayServer.window_set_position(Vector2(DisplayServer.screen_get_position(screen_index)) + (DisplayServer.screen_get_size(screen_index) - DisplayServer.window_get_size()) * 0.5)
|
|
|
|
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
|
2025-01-03 08:07:35 +00:00
|
|
|
|
|
|
|
# Normally you can just call DialogueManager directly but doing so before the plugin has been
|
|
|
|
# enabled in settings will throw a compiler error here so I'm using `get_singleton` instead.
|
|
|
|
var dialogue_manager = Engine.get_singleton("DialogueManager")
|
|
|
|
dialogue_manager.dialogue_ended.connect(_on_dialogue_ended)
|
2025-03-10 12:58:01 +00:00
|
|
|
dialogue_manager.show_dialogue_balloon(resource, title if not title.is_empty() else resource.first_title)
|
2025-01-03 08:07:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
func _enter_tree() -> void:
|
|
|
|
DialogueSettings.set_user_value("is_running_test_scene", false)
|
|
|
|
|
|
|
|
|
2025-03-10 12:58:01 +00:00
|
|
|
#region Signals
|
2025-01-03 08:07:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
func _on_dialogue_ended(_resource: DialogueResource):
|
|
|
|
get_tree().quit()
|
2025-03-10 12:58:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
#endregion
|