mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-06-25 21:12:29 +08:00
refactor(ItemDropped): 修改refindPlayer方法以接收SceneTree参数
将refindPlayer方法改为接收SceneTree参数,避免在方法内部重复调用get_tree()。同时更新相关调用点和generate方法,确保一致性。
This commit is contained in:
@@ -36,9 +36,9 @@ func _physics_process(_delta):
|
|||||||
targetPlayer.collectItem(item, stackCount)
|
targetPlayer.collectItem(item, stackCount)
|
||||||
collect()
|
collect()
|
||||||
else:
|
else:
|
||||||
refindPlayer()
|
refindPlayer(get_tree())
|
||||||
else:
|
else:
|
||||||
refindPlayer()
|
refindPlayer(get_tree())
|
||||||
|
|
||||||
func canICollect():
|
func canICollect():
|
||||||
return is_instance_valid(targetPlayer) && targetPlayer.inventoryMax[item] > targetPlayer.inventory[item]
|
return is_instance_valid(targetPlayer) && targetPlayer.inventoryMax[item] > targetPlayer.inventory[item]
|
||||||
@@ -47,8 +47,8 @@ func collect():
|
|||||||
animator.play("collect")
|
animator.play("collect")
|
||||||
await animator.animation_finished
|
await animator.animation_finished
|
||||||
queue_free()
|
queue_free()
|
||||||
func refindPlayer():
|
func refindPlayer(tree: SceneTree):
|
||||||
targetPlayer = EntityTool.findClosetPlayer(position, get_tree())
|
targetPlayer = EntityTool.findClosetPlayer(position, tree)
|
||||||
|
|
||||||
static func generate(
|
static func generate(
|
||||||
itemType: ItemStore.ItemType,
|
itemType: ItemStore.ItemType,
|
||||||
@@ -63,6 +63,7 @@ static func generate(
|
|||||||
if addToWorld:
|
if addToWorld:
|
||||||
WorldManager.rootNode.call_deferred("add_child", instance)
|
WorldManager.rootNode.call_deferred("add_child", instance)
|
||||||
instance.add_to_group("drops")
|
instance.add_to_group("drops")
|
||||||
|
instance.refindPlayer(WorldManager.tree)
|
||||||
return instance
|
return instance
|
||||||
static func getDrops() -> Array[ItemDropped]:
|
static func getDrops() -> Array[ItemDropped]:
|
||||||
var result: Array[ItemDropped] = []
|
var result: Array[ItemDropped] = []
|
||||||
|
|||||||
Reference in New Issue
Block a user