1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-07 04:07:13 +08:00

feat(战斗系统): 改进敌人生成逻辑以围绕玩家位置生成

修改Wave.spawn方法以接受中心点参数,使敌人生成位置围绕玩家
在Starter和MakeFeed面板中调用spawnWave时计算玩家中心位置
重构EntityBase添加getPlayers方法获取所有玩家实体
重命名WorldManager.nextWave为doNextWave以更清晰表达意图
This commit is contained in:
2025-12-14 15:01:01 +08:00
parent 4648fedc73
commit 74d3e03fef
5 changed files with 26 additions and 12 deletions
+13 -3
View File
@@ -466,7 +466,7 @@ func kill():
pass
static func findPlayer(playerName: String) -> EntityBase:
for i in WorldManager.tree.get_nodes_in_group("players"):
for i in getPlayers():
if i.displayName == playerName:
return i
return null
@@ -493,5 +493,15 @@ static func generate(
if addToWorld:
WorldManager.rootNode.spawn(instance)
return instance
static func getMobs():
return WorldManager.tree.get_nodes_in_group("mobs")
static func getMobs() -> Array[EntityBase]:
var result: Array[EntityBase] = []
for entity in WorldManager.tree.get_nodes_in_group("mobs"):
if entity:
result.append(entity)
return result
static func getPlayers() -> Array[EntityBase]:
var result: Array[EntityBase] = []
for entity in WorldManager.tree.get_nodes_in_group("players"):
if entity:
result.append(entity)
return result