upgrade mesh merge
This commit is contained in:
@@ -120,6 +120,22 @@ func setup(type: String, wave: int) -> void:
|
|||||||
kick_tier = enemy_level
|
kick_tier = enemy_level
|
||||||
toughness_tier = enemy_level
|
toughness_tier = enemy_level
|
||||||
_update_label()
|
_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:
|
func _physics_process(delta: float) -> void:
|
||||||
match state:
|
match state:
|
||||||
|
|||||||
+1
-2
@@ -306,6 +306,7 @@ func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> Ch
|
|||||||
enemy.kick_tier = level
|
enemy.kick_tier = level
|
||||||
enemy.toughness_tier = level
|
enemy.toughness_tier = level
|
||||||
enemy.call("_update_label")
|
enemy.call("_update_label")
|
||||||
|
enemy.call("_apply_mesh", level)
|
||||||
enemy.global_position = pos
|
enemy.global_position = pos
|
||||||
enemy.connect("died", _on_enemy_died)
|
enemy.connect("died", _on_enemy_died)
|
||||||
enemy.connect("merged", _on_enemy_merged)
|
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
|
var old_size: Vector3 = s3d.size
|
||||||
col_shape.shape = BoxShape3D.new()
|
col_shape.shape = BoxShape3D.new()
|
||||||
(col_shape.shape as BoxShape3D).size = old_size * s
|
(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:
|
if level >= 3 and not first_boss_spawned:
|
||||||
first_boss_spawned = true
|
first_boss_spawned = true
|
||||||
_start_boss_phase()
|
_start_boss_phase()
|
||||||
|
|||||||
Reference in New Issue
Block a user