точно есть дэшм

This commit is contained in:
2026-07-21 00:27:17 +07:00
parent 1df926f1d8
commit d74fa3bd80
601 changed files with 2375919 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
extends CanvasLayer
@onready var dialogue_box = $DialogueBox
@onready var name_label = $DialogueBox/NameLabel
@onready var text_label = $DialogueBox/TextLabel
@onready var press_e_label = $PressE
var current_dialogue_lines: Array = []
var current_line_index: int = 0
func _ready():
# Изначально скрываем и окно диалога, и саму подсказку "Press E"
dialogue_box.visible = false
if press_e_label:
press_e_label.visible = false
func start_dialogue(lines: Array):
# Как только диалог начался — подсказку "Press E" нужно СРАЗУ убрать с экрана
hide_prompt()
current_dialogue_lines = lines
current_line_index = 0
dialogue_box.visible = true
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
show_current_line()
func show_current_line():
if current_line_index < current_dialogue_lines.size():
var line_data = current_dialogue_lines[current_line_index]
name_label.text = line_data.get("name", "NPC")
text_label.text = line_data.get("text", "")
else:
end_dialogue()
func _input(event):
if dialogue_box.visible:
var is_mouse_click = event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT
var is_accept = event.is_action_pressed("ui_accept")
var is_e_key = event is InputEventKey and event.pressed and event.keycode == KEY_E
if is_mouse_click or is_accept or is_e_key:
current_line_index += 1
show_current_line()
# Перехватываем ввод, чтобы клики мыши при листании не вызывали стрельбу в шутере
get_viewport().set_input_as_handled()
func end_dialogue():
dialogue_box.visible = false
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
# Функция для показа подсказки
func show_prompt() -> void:
if press_e_label and not dialogue_box.visible:
press_e_label.visible = true
print("[UI] Подсказка 'Press E' успешно включена на экране.")
# Функция для скрытия подсказки
func hide_prompt() -> void:
if press_e_label:
press_e_label.visible = false
print("[UI] Подсказка 'Press E' скрыта.")