2025-08-26 18:09:04 +08:00
|
|
|
@tool
|
|
|
|
|
extends HBoxContainer
|
2025-08-26 18:44:28 +08:00
|
|
|
class_name FieldShow
|
2025-08-26 18:09:04 +08:00
|
|
|
|
|
|
|
|
@export var field: FieldStore.Entity = FieldStore.Entity.MAX_HEALTH
|
2025-08-26 18:44:28 +08:00
|
|
|
@export var value: float = 0
|
2025-08-26 18:09:04 +08:00
|
|
|
|
|
|
|
|
@onready var nameLabel: Label = $"%name"
|
|
|
|
|
@onready var valueLabel: Label = $"%value"
|
|
|
|
|
|
2025-08-26 22:31:28 +08:00
|
|
|
func _ready():
|
2025-08-26 18:09:04 +08:00
|
|
|
nameLabel.text = FieldStore.entityMap[field]
|
2025-08-26 18:44:28 +08:00
|
|
|
var formattedValue: String
|
|
|
|
|
var dataType = FieldStore.entityMapType[field]
|
|
|
|
|
if dataType == FieldStore.DataType.VALUE:
|
2025-08-27 21:43:06 +08:00
|
|
|
formattedValue = MathTool.signBeforeStr(value)
|
2025-08-26 18:44:28 +08:00
|
|
|
elif dataType == FieldStore.DataType.ANGLE:
|
2025-08-27 21:43:06 +08:00
|
|
|
formattedValue = MathTool.signBeforeStr(value) + "°"
|
2025-08-26 18:44:28 +08:00
|
|
|
elif dataType == FieldStore.DataType.PERCENT:
|
2025-08-27 21:43:06 +08:00
|
|
|
formattedValue = MathTool.signBeforeStr(float("%.1f" % (value * 100))) + "%"
|
2025-08-26 18:44:28 +08:00
|
|
|
valueLabel.text = formattedValue
|