add tooltip on enemies, update enemy type on merge

This commit is contained in:
2026-04-23 13:46:51 +03:00
parent d7368e7fa7
commit dde4a6431e
3 changed files with 25 additions and 5 deletions
+24 -1
View File
@@ -46,6 +46,7 @@ var is_upgrading: bool = false
@onready var mesh_node: MeshInstance3D = $BodyMesh
var mat: StandardMaterial3D
var type_label: Label3D
var COLOR_CHASE = Color(1.0, 0.28, 0.18)
var COLOR_FLY = Color(1.0, 0.85, 0.1)
@@ -59,6 +60,21 @@ func _ready() -> void:
mat = mesh_node.material_override.duplicate() as StandardMaterial3D
mesh_node.material_override = mat
COLOR_CHASE = mat.albedo_color
type_label = Label3D.new()
type_label.billboard = BaseMaterial3D.BILLBOARD_ENABLED
type_label.position = Vector3(0, 1.6, 0)
type_label.font_size = 28
type_label.outline_size = 5
type_label.modulate = Color.WHITE
add_child(type_label)
func _update_label() -> void:
if type_label == null:
return
var stars := ""
for i in range(enemy_level - 1):
stars += ""
type_label.text = enemy_type + (" " + stars if stars != "" else "")
func setup(type: String, wave: int) -> void:
enemy_type = type
@@ -93,6 +109,7 @@ func setup(type: String, wave: int) -> void:
enemy_level = 3
kick_tier = enemy_level
toughness_tier = enemy_level
_update_label()
func _physics_process(delta: float) -> void:
match state:
@@ -290,9 +307,15 @@ func _start_merge(other: Node) -> void:
tw.tween_property(other, "global_position", global_position, 0.2)
tw.tween_callback(_on_merge_complete)
static func _next_enemy_type(current: String) -> String:
match current:
"slime": return "bat"
"bat": return "ogre"
_: return "titan"
func _on_merge_complete() -> void:
var merge_pos := global_position
var merge_type := enemy_type
var merge_type := _next_enemy_type(enemy_type)
var new_level: int = enemy_level + 1
var new_wave: int = wave_num
if is_instance_valid(merge_partner):