1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(UI): 为提示框添加类型支持并改进样式

- 新增MessageType枚举定义提示类型(INFO/WARNING/ERROR)
- 根据不同类型显示不同颜色样式
- 修改所有调用showTip的地方使用新的类型参数
- 移除自动销毁时间参数,统一使用固定显示时长
This commit is contained in:
2026-01-25 21:40:26 +08:00
parent 846458060c
commit 06c2637ebb
5 changed files with 33 additions and 15 deletions
+17 -1
View File
@@ -2,7 +2,19 @@
extends PanelContainer
class_name TipBox
enum MessageType {
INFO,
WARNING,
ERROR,
}
@export var text: String = "nothing"
@export var messageType: MessageType = MessageType.INFO
@export var colorMap = {
MessageType.INFO: Color.BLUE,
MessageType.WARNING: Color.ORANGE,
MessageType.ERROR: Color.RED,
}
@onready var label: RichTextLabel = $%label
@onready var animator: AnimationPlayer = $%animator
@@ -10,6 +22,9 @@ class_name TipBox
func _ready():
label.text = text
animator.play("show")
var styleBox = get_theme_stylebox("panel").duplicate() as StyleBoxFlat
styleBox.bg_color = colorMap[messageType]
add_theme_stylebox_override("panel", styleBox)
func _process(_delta):
label.text = text
@@ -18,7 +33,8 @@ func destroy():
await animator.animation_finished
queue_free()
static func create(applyText: String) -> TipBox:
static func create(applyText: String, applyMessageType: MessageType = MessageType.INFO) -> TipBox:
var box = ComponentManager.getUIComponent("TipBox").instantiate()
box.text = applyText
box.messageType = applyMessageType
return box