feat: add nearby social interactions

This commit is contained in:
ANG-Server
2026-07-21 22:19:41 +08:00
parent 0bab768b14
commit 9dee47492c
43 changed files with 1499 additions and 77 deletions

View File

@@ -11,7 +11,7 @@ const GUIDE_PAGES: Array[Dictionary] = [
"image_path": "res://assets/maps/square/v1/props/center_whale_fountain_v2_hd_clean.png",
},
{
"text": "操作提示:\n\n- 按 [color=#ffaa00]E[/color] 键可以与 NPC、公告板和信息板互动。\n- 靠近目标后面向它,再按互动键。\n- 输入框获得焦点时,角色移动会暂停响应。",
"text": "操作提示:\n\n- 按 [color=#ffaa00]E[/color] 键可以与 NPC、公告板和信息板互动。\n- 靠近目标后面向它,再按互动键。\n- 按 [color=#ffaa00]Esc[/color] 可以关闭当前界面或结束当前互动。\n- 输入框获得焦点时,角色移动会暂停响应。",
"image_path": "res://assets/maps/square/v1/props/bottom_entrance_right_service_props_v2_hd_clean.png",
},
]
@@ -38,6 +38,7 @@ var _guideCurrentPage: int = 0
var _guideTween: Tween
func _ready() -> void:
add_to_group("whaletown_escape_dismissible")
_disableChatUiMouseInput()
var closeButton := find_child("CloseButton", true, false) as Button
@@ -52,8 +53,20 @@ func _exit_tree() -> void:
_restoreChatUiMouseInput()
func _input(event: InputEvent) -> void:
if get_viewport().is_input_handled():
return
if event.is_action_pressed("ui_cancel"):
queue_free()
get_viewport().set_input_as_handled()
func is_escape_dismissible() -> bool:
return is_inside_tree()
func get_escape_priority() -> int:
return 980
func request_escape_close() -> void:
queue_free()
func _onClosePressed() -> void:
queue_free()