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

refactor(ItemDropped): 修改refindPlayer方法以接收SceneTree参数

将refindPlayer方法改为接收SceneTree参数,避免在方法内部重复调用get_tree()。同时更新相关调用点和generate方法,确保一致性。
This commit is contained in:
2025-12-14 14:51:13 +08:00
parent a9f3186b5a
commit 80b6134412
+5 -4
View File
@@ -36,9 +36,9 @@ func _physics_process(_delta):
targetPlayer.collectItem(item, stackCount)
collect()
else:
refindPlayer()
refindPlayer(get_tree())
else:
refindPlayer()
refindPlayer(get_tree())
func canICollect():
return is_instance_valid(targetPlayer) && targetPlayer.inventoryMax[item] > targetPlayer.inventory[item]
@@ -47,8 +47,8 @@ func collect():
animator.play("collect")
await animator.animation_finished
queue_free()
func refindPlayer():
targetPlayer = EntityTool.findClosetPlayer(position, get_tree())
func refindPlayer(tree: SceneTree):
targetPlayer = EntityTool.findClosetPlayer(position, tree)
static func generate(
itemType: ItemStore.ItemType,
@@ -63,6 +63,7 @@ static func generate(
if addToWorld:
WorldManager.rootNode.call_deferred("add_child", instance)
instance.add_to_group("drops")
instance.refindPlayer(WorldManager.tree)
return instance
static func getDrops() -> Array[ItemDropped]:
var result: Array[ItemDropped] = []