initial merge

This commit is contained in:
2026-04-22 15:49:02 +03:00
parent 1973cc3a3c
commit cfc28168bc
2 changed files with 82 additions and 5 deletions
+27
View File
@@ -43,6 +43,7 @@ func _ready() -> void:
_create_ui()
_spawn_player()
_start_game()
add_to_group("main")
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
func _input(event: InputEvent) -> void:
@@ -224,6 +225,7 @@ func _spawn_enemy() -> void:
enemy.setup(type, wave)
enemy.target = player
enemy.connect("died", _on_enemy_died)
enemy.connect("merged", _on_enemy_merged)
# Spawn at random edge
var side := randi() % 4
@@ -246,6 +248,31 @@ func _on_enemy_died(points: int) -> void:
wave += 1
_show_upgrade()
func _spawn_upgraded_enemy(pos: Vector3, type: String, level: int, w: int) -> CharacterBody3D:
var enemy := ENEMY_SCENE.instantiate() as CharacterBody3D
add_child(enemy)
enemy.setup(type, w)
enemy.target = player
enemy.enemy_level = level + 1
enemy.global_position = pos
enemy.connect("died", _on_enemy_died)
enemy.connect("merged", _on_enemy_merged)
var tw := enemy.create_tween()
var s: float = 1.0 + level * 0.3
tw.tween_property(enemy.mesh_node, "scale", Vector3(s, s, s), 0.2)
var col_shape := enemy.get_node_or_null("CollisionShape3D") as CollisionShape3D
if col_shape != null and col_shape.shape != null:
var s3d: BoxShape3D = col_shape.shape as BoxShape3D
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)
return enemy
func _on_enemy_merged(_upgrade: bool) -> void:
pass
func _on_player_died() -> void:
game_active = false
spawn_timer.stop()