Files
SectSimulator/src/UI/Panels/SaveSlot.gd
T
Admin 782b1f1701 docs: 按 Godot 规范优化全部 GDScript 注释
- 类/信号/方法添加 ## 文档注释与 @param 标签
- 清理 pass 占位残留
2026-08-03 22:25:43 +08:00

53 lines
1.7 KiB
GDScript

## 存档槽位条目(挂载于 SaveSlot.tscn)。
## 展示单个存档信息;空槽位用于新建存档。
extends PanelContainer
## 槽位被点击时发出,save_id 为空表示点击了新建槽位。
## @param save_id: 存档 ID
signal slot_pressed(save_id: String)
@onready var slot_index_label: Label = %SlotIndexLabel
@onready var save_name_label: Label = %SaveNameLabel
@onready var meta_line1: Label = %MetaLine1
@onready var meta_line2: Label = %MetaLine2
@onready var delete_button: Button = %DeleteButton
@onready var arrow_button: Button = %ArrowIcon
## 本槽位对应的存档 ID。
var save_id: String = ""
## 是否已有存档数据(false 表示新建槽位)。
var has_data: bool = false
## 填充为已有存档槽位。
## @param id: 存档 ID
## @param name_text: 存档名称
## @param meta1: 第一行元数据
## @param meta2: 第二行元数据
func setup(id: String, name_text: String, meta1: String, meta2: String) -> void:
save_id = id
has_data = true
slot_index_label.text = id.get_slice("save_", 1) # "save_001" -> "001"
save_name_label.text = name_text
meta_line1.text = meta1
meta_line2.text = meta2
delete_button.visible = true
arrow_button.visible = true
## 填充为"新建存档"空槽位。
func setup_empty() -> void:
has_data = false
slot_index_label.text = "+"
save_name_label.text = "新建存档"
meta_line1.text = "点击创建新的存档"
meta_line2.text = ""
delete_button.visible = false
arrow_button.visible = false
## 槽位本体被点击。
func _on_pressed() -> void:
slot_pressed.emit(save_id)
## 点击删除按钮(TODO:接入确认弹窗)。
func _on_delete_button_button_up() -> void:
print("删除存档: ", save_id)