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

38 lines
1.2 KiB
GDScript
Raw Normal View History

@tool
extends PanelContainer
class_name Feed
@export var avatarTexture: Texture2D = null
@export var displayName: String = "未命名饲料"
@export var fields: Array[FieldStore.Entity] = []
@export var fieldValues: Array[float] = []
@export var costs: Array[ItemStore.ItemType] = []
@export var costCounts: Array[int] = []
@onready var avatarRect: TextureRect = $"%avatar"
@onready var nameLabel: Label = $"%name"
@onready var fieldsBox: VBoxContainer = $"%fields"
@onready var costsBox: GridContainer = $"%costs"
func _ready():
avatarRect.texture = avatarTexture
nameLabel.text = displayName
for i in fieldsBox.get_children():
i.queue_free()
for i in range(min(fields.size(), fieldValues.size())):
var field = fields[i]
var value = fieldValues[i]
var fieldShow: FieldShow = preload("res://components/UI/FieldShow.tscn").instantiate()
fieldShow.field = field
fieldShow.value = str(value)
fieldsBox.add_child(fieldShow)
for i in costsBox.get_children():
i.queue_free()
for i in range(min(costs.size(), costCounts.size())):
var cost = costs[i]
var count = costCounts[i]
var costShow: ItemShow = preload("res://components/UI/ItemShow.tscn").instantiate()
costShow.type = cost
costShow.count = count
costsBox.add_child(costShow)