mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-30 07:51:54 +08:00
2ec3d535c7
添加 ArrayTool 工具类用于数组操作 在 FeedName 中增加 weight 方法获取品质权重 修改 MakeFeed 的卡牌生成逻辑,根据品质权重进行随机选择
49 lines
1.1 KiB
GDScript
49 lines
1.1 KiB
GDScript
@tool
|
|
extends HBoxContainer
|
|
class_name FeedName
|
|
|
|
enum Quality {
|
|
WASTE,
|
|
COMMON,
|
|
RARE,
|
|
EPIC,
|
|
LEGENDARY,
|
|
}
|
|
|
|
@export var displayName: String = "未命名饲料"
|
|
@export var quality: Quality = Quality.COMMON
|
|
@export var qualityColorMap = {
|
|
Quality.WASTE: Color(),
|
|
Quality.COMMON: Color(),
|
|
Quality.RARE: Color(),
|
|
Quality.EPIC: Color(),
|
|
Quality.LEGENDARY: Color()
|
|
}
|
|
@export var qualityNameMap = {
|
|
Quality.WASTE: "常见",
|
|
Quality.COMMON: "普通",
|
|
Quality.RARE: "稀有",
|
|
Quality.EPIC: "史诗",
|
|
Quality.LEGENDARY: "传说"
|
|
}
|
|
@export var qualityRandomWeight = {
|
|
Quality.WASTE: 5,
|
|
Quality.COMMON: 50,
|
|
Quality.RARE: 10,
|
|
Quality.EPIC: 5,
|
|
Quality.LEGENDARY: 1
|
|
}
|
|
|
|
@onready var qualityLabel: Label = $"%quality"
|
|
@onready var nameLabel: RichTextLabel = $"%label"
|
|
|
|
func _ready():
|
|
qualityLabel.label_settings = qualityLabel.label_settings.duplicate()
|
|
func _physics_process(_delta):
|
|
qualityLabel.text = "[%s]" % qualityNameMap[quality]
|
|
qualityLabel.label_settings.font_color = color()
|
|
nameLabel.text = "[b]%s[/b]" % displayName
|
|
func color():
|
|
return qualityColorMap[quality] as Color
|
|
func weight() -> float:
|
|
return qualityRandomWeight[quality] |