Reorganize into role-based folders and consolidate art
Move every script and scene into role-based directories (actors/, systems/, ui/, levels/, props/) and all raw art under art/ (grouped by role, snake_case, Extract-Textures GLBs), dropping Blender version-suffix noise. Filenames are snake_case (PascalCase reserved for class_name) to avoid case-insensitive filesystem aliasing on the web/macOS targets. Routes the bull's hits through the typed DamageEvent pipeline and wires the bull's abilities to the Fx library. Updates CLAUDE.md's folder-layout overview to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCyaJPTHCH9EDthpf4A5Sj
This commit is contained in:
@@ -3,7 +3,7 @@ extends Node3D
|
||||
signal matador_killed
|
||||
signal all_defeated
|
||||
|
||||
const MATADOR := preload("res://Matador.tscn")
|
||||
const MATADOR := preload("res://actors/matador/matador.tscn")
|
||||
|
||||
var _alive: int = 0
|
||||
var _wave: int = 0
|
||||
@@ -34,25 +34,25 @@ func _spawn() -> void:
|
||||
# Matadors are assigned to a random subset of spawn points each wave and enter staggered.
|
||||
func _start_next_wave() -> void:
|
||||
_wave += 1
|
||||
|
||||
|
||||
# 8 waves total.
|
||||
if _wave > DP.f("mat_wave_size"):
|
||||
return
|
||||
|
||||
|
||||
# Wave 1 = 1 matador, Wave 2 = 2, ... Wave 8 = 8.
|
||||
var count := _wave
|
||||
|
||||
|
||||
# Shuffle the spawn points so the spawn locations are random.
|
||||
var points: Array[Node3D] = _spawn_points.duplicate()
|
||||
points.shuffle()
|
||||
|
||||
|
||||
for i in range(count):
|
||||
# Reuse spawn points when we have more matadors than points.
|
||||
var sp: Node3D = points[i % points.size()]
|
||||
|
||||
|
||||
var m := _spawn_at(sp.global_position)
|
||||
m.call_deferred(&"enter_spawn_roll", Vector3.ZERO)
|
||||
|
||||
|
||||
if i < count - 1:
|
||||
await get_tree().create_timer(
|
||||
DP.f("mat_spawn_stagger")
|
||||
|
||||
Reference in New Issue
Block a user