feat: Create player input and powerup managers to handle player interactions, movement, actions, targeting, and boost meter mechanics.

This commit is contained in:
Yogi Wiguna
2026-03-05 14:29:34 +08:00
parent ebfa8f99a7
commit fb6d9df5db
7 changed files with 51 additions and 48 deletions
+6 -2
View File
@@ -524,13 +524,17 @@ func _on_boost_points_changed(current_points: int, max_points: int):
# User Request: Disable Special & SpawnBoost if < 100%
var is_full = current_points >= (max_points - 1) # Tolerance
_update_boost_button_state(attack_mode_button, is_full)
# Attack Mode (⚡) is only enabled if full AND not carrying a Tekton
var can_attack = is_full and not (local_player and local_player.is_carrying_tekton)
_update_boost_button_state(attack_mode_button, can_attack)
# SpawnBoost depends on carrying a Tekton, not boost points
var can_spawn = local_player and local_player.is_carrying_tekton
_update_boost_button_state(spawn_boost_button, can_spawn)
_update_boost_button_state(tekton_grab_button, true) # Always enabled (logic handles grab-ability)
# Tekton Grab (👋) is only enabled if full AND not already carrying one
var can_grab = is_full and not (local_player and local_player.is_carrying_tekton)
_update_boost_button_state(tekton_grab_button, can_grab)
func _on_tekton_carried_changed(_is_carrying: bool):
# Refresh button states when player grabs/throws a tekton