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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user