2026-08-15 14:43:29 +02:00
|
|
|
class_name EnemyDefinitions
|
|
|
|
|
extends RefCounted
|
|
|
|
|
|
|
|
|
|
const DEFAULT_ID: String = "chaser"
|
2026-08-15 21:23:01 +02:00
|
|
|
const ORDER: PackedStringArray = ["chaser", "sniper"]
|
2026-08-15 14:43:29 +02:00
|
|
|
const DEFINITIONS: Dictionary = {
|
|
|
|
|
"chaser": preload("res://ChaserEnemyDefinition.tres"),
|
2026-08-15 21:23:01 +02:00
|
|
|
"sniper": preload("res://SniperEnemyDefinition.tres"),
|
2026-08-15 14:43:29 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static func get_definition(enemy_id: String) -> Resource:
|
|
|
|
|
return DEFINITIONS.get(enemy_id, DEFINITIONS[DEFAULT_ID])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static func all() -> Array:
|
|
|
|
|
var result: Array = []
|
|
|
|
|
for enemy_id in ORDER:
|
|
|
|
|
result.append(DEFINITIONS[enemy_id])
|
|
|
|
|
return result
|