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

feat(武器系统): 添加武器背包功能及武器展示组件

实现武器背包功能,用于存储已获得的武器名称。新增WeaponShow组件,根据操作类型显示不同的武器信息。修改Feed.gd以支持武器展示逻辑,包括获取和提炼两种操作状态。
This commit is contained in:
2025-09-21 16:49:52 +08:00
parent ace6d3bf53
commit e5b23e7715
4 changed files with 64 additions and 4 deletions
+2
View File
@@ -98,6 +98,7 @@ var lastDirection: int = 1
var currentFocusedBoss: EntityBase = null
var charginup: bool = false
var weapons: Array[Weapon] = []
var weaponBag: Array[String] = []
var canRunAi: bool = true
var currentStage: int = 0
var spawnTime: float = 0
@@ -115,6 +116,7 @@ func _ready():
for i in weaponStore.get_children():
i.hide()
weapons.append(i)
weaponBag.append(i.displayName)
statebar.levelLabels.hide()
UIState.player = self
energyChanged.connect(
+32
View File
@@ -0,0 +1,32 @@
@tool
extends HBoxContainer
class_name WeaponShow
enum Operation {
GET,
EXTRACT,
}
@export var weapon: PackedScene = null
@export var operation: Operation = Operation.GET
@onready var operationLabel: Label = $"%operation"
@onready var avatarRect: TextureRect = $"%avatar"
@onready var nameLabel: Label = $"%name"
@onready var soulShow: ItemShow = $"%soul"
func _ready():
var weaponInstance = weapon.instantiate() as Weapon
avatarRect.texture = weaponInstance.avatarTexture
nameLabel.text = weaponInstance.displayName
soulShow.count = weaponInstance.soulLevel
if operation == Operation.GET:
operationLabel.text = "获得"
avatarRect.visible = true
nameLabel.visible = true
soulShow.visible = false
else:
operationLabel.text = "提炼"
avatarRect.visible = false
nameLabel.visible = false
soulShow.visible = true