refactor: route core definitions through content catalog

This commit is contained in:
Rijad Zuzo
2026-08-12 20:13:50 +02:00
parent 758d240438
commit c218909649
6 changed files with 50 additions and 55 deletions
+8 -22
View File
@@ -9,28 +9,10 @@ static func _ensure_cache() -> void:
if _cache_valid:
return
_enemies = {}
var raider := EnemyDefinition.new()
raider.enemy_id = &"enemy_raider"
raider.display_name = "Raider"
raider.kind = SimulationIds.COMBATANT_KIND_RAIDER
raider.weapon_id = SimulationIds.ITEM_SWORD
raider.health = 60.0
raider.move_speed = 3.5
raider.body_color = Color(0.4, 0.13, 0.1, 1.0)
raider.accent_color = Color(0.55, 0.55, 0.58, 1.0)
_enemies[raider.enemy_id] = raider
var wolf := EnemyDefinition.new()
wolf.enemy_id = &"enemy_wolf"
wolf.display_name = "Wolf"
wolf.kind = SimulationIds.COMBATANT_KIND_WOLF
wolf.weapon_id = SimulationIds.ITEM_CLAW
wolf.health = 40.0
wolf.move_speed = 4.2
wolf.body_color = Color(0.32, 0.32, 0.34, 1.0)
wolf.accent_color = Color(0.95, 0.5, 0.12, 1.0)
wolf.visual_scale = Vector3(0.8, 0.8, 0.8)
_enemies[wolf.enemy_id] = wolf
var catalog := ContentCatalog.create_core()
if catalog.is_valid():
for enemy in catalog.get_enemies():
_enemies[enemy.enemy_id] = enemy
_cache_valid = true
@@ -48,4 +30,8 @@ static func get_all() -> Array[EnemyDefinition]:
var values: Array[EnemyDefinition] = []
for enemy in _enemies.values():
values.append(enemy)
values.sort_custom(
func(first: EnemyDefinition, second: EnemyDefinition) -> bool:
return String(first.enemy_id) < String(second.enemy_id)
)
return values