upgrade mesh merge

This commit is contained in:
2026-04-23 15:52:36 +03:00
parent 20eaa513c3
commit f37c27887e
2 changed files with 17 additions and 2 deletions
+16
View File
@@ -120,6 +120,22 @@ func setup(type: String, wave: int) -> void:
kick_tier = enemy_level
toughness_tier = enemy_level
_update_label()
_apply_mesh(enemy_level)
func _apply_mesh(level: int) -> void:
var idx := clampi(level, 1, 3)
var mesh_res := load("res://assets/gnome%d.obj" % idx) as Mesh
if mesh_res == null:
return
var new_mat := StandardMaterial3D.new()
var tex := load("res://assets/gnome%d.png" % idx) as Texture2D
if tex != null:
new_mat.albedo_texture = tex
new_mat.albedo_color = Color.WHITE
mesh_node.mesh = mesh_res
mesh_node.material_override = new_mat
mat = new_mat
COLOR_CHASE = Color.WHITE
func _physics_process(delta: float) -> void:
match state:
+1 -2
View File
@@ -306,6 +306,7 @@ func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> Ch
enemy.kick_tier = level
enemy.toughness_tier = level
enemy.call("_update_label")
enemy.call("_apply_mesh", level)
enemy.global_position = pos
enemy.connect("died", _on_enemy_died)
enemy.connect("merged", _on_enemy_merged)
@@ -318,8 +319,6 @@ func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> Ch
var old_size: Vector3 = s3d.size
col_shape.shape = BoxShape3D.new()
(col_shape.shape as BoxShape3D).size = old_size * s
var color := Color(1.0, 1.0, 0.5) if level > 2 else Color(1.0, 0.9, 0.3)
tw.tween_property(enemy.mat, "albedo_color", color, 0.25)
if level >= 3 and not first_boss_spawned:
first_boss_spawned = true
_start_boss_phase()