mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-25 13:02:29 +08:00
feat(UI): 添加物品收集显示功能
- 新增CameraManager脚本用于相机管理 - 在UI场景中添加物品收集容器VBoxContainer - 扩展ItemShow类支持生成物品显示实例 - 修改EntityBase添加物品收集信号和处理逻辑 - 调整BossBar位置和布局属性
This commit is contained in:
@@ -7,6 +7,8 @@ signal healthChanged(health: float)
|
||||
|
||||
signal energyChanged(energy: float)
|
||||
|
||||
signal itemCollected(itemType: ItemStore.ItemType, amount: int)
|
||||
|
||||
var fields = {
|
||||
FieldStore.Entity.MAX_HEALTH: 100,
|
||||
FieldStore.Entity.DAMAGE_MULTIPILER: 1,
|
||||
@@ -72,6 +74,7 @@ func _ready():
|
||||
if body is ItemDropped:
|
||||
inventory[body.item] += body.stackCount
|
||||
playSound("collect")
|
||||
itemCollected.emit(body.item, body.stackCount)
|
||||
body.queue_free()
|
||||
)
|
||||
energyChanged.connect(
|
||||
@@ -79,6 +82,10 @@ func _ready():
|
||||
UIState.energyPercent.maxValue = fields.get(FieldStore.Entity.MAX_ENERGY)
|
||||
UIState.energyPercent.setCurrent(newEnergy)
|
||||
)
|
||||
itemCollected.connect(
|
||||
func(itemType, amount):
|
||||
UIState.itemCollect.add_child(ItemShow.generate(itemType, amount))
|
||||
)
|
||||
else:
|
||||
currentFocusedBoss = get_tree().get_nodes_in_group("players")[0]
|
||||
healthChanged.emit(health)
|
||||
|
||||
@@ -11,3 +11,9 @@ class_name ItemShow
|
||||
func _physics_process(_delta):
|
||||
avatarTexture.texture = ItemStore.getTexture(type)
|
||||
countLabel.text = str(count)
|
||||
|
||||
static func generate(itemType: ItemStore.ItemType, itemCount: int = 1):
|
||||
var item = preload("res://components/UI/ItemShow.tscn").instantiate()
|
||||
item.type = itemType
|
||||
item.count = itemCount
|
||||
return item
|
||||
|
||||
@@ -13,11 +13,13 @@ static var bossbar: EntityStateBar
|
||||
static var currentPanel: FullscreenPanelBase = null
|
||||
static var panels: Control
|
||||
static var energyPercent: ColorBar
|
||||
static var itemCollect: VBoxContainer
|
||||
|
||||
func _ready():
|
||||
bossbar = $"%bossbar"
|
||||
panels = $"%panels"
|
||||
energyPercent = $"%percent"
|
||||
itemCollect = $"%itemCollect"
|
||||
func _process(_delta):
|
||||
bossbar.visible = !!bossbar.entity
|
||||
func _physics_process(_delta):
|
||||
|
||||
Reference in New Issue
Block a user