This commit is contained in:
2026-01-29 03:04:24 +08:00
parent 6949e20a1f
commit e66ba7542c
12 changed files with 687 additions and 549 deletions
+26 -11
View File
@@ -16,8 +16,14 @@ var move_button
var grab_button
var put_button
var randomize_button
var arrange_button
var victory_ui_scene = preload("res://scenes/ui/victory_ui.tscn")
var powerup_inventory_ui_script = preload("res://scripts/ui/powerup_inventory_ui.gd")
var main_menu_instance
var victory_ui_instance
var playerboard_ui
var action_menu_instance
var powerup_inventory_ui
var local_player_character
var _previous_playerboard_state: Array = []
@@ -26,22 +32,31 @@ enum ActionState {
NONE,
MOVING,
GRABBING,
PUTTING,
RANDOMIZING,
ARRANGING,
RANDOMIZING
}
var current_action_state = ActionState.NONE
func initialize(main_node):
func initialize(player_node):
# Get PowerUp Inventory UI from scene
powerup_inventory_ui = player_node.get_node_or_null("PowerUpInventoryUI")
# Get node references from main scene
action_menu = main_node.get_node("ActionMenu")
move_button = main_node.get_node("ActionMenu/ActionButtonContainer/MoveButton")
grab_button = main_node.get_node("ActionMenu/ActionButtonContainer/GrabButton")
put_button = main_node.get_node("ActionMenu/ActionButtonContainer/PutButton")
randomize_button = main_node.get_node("ActionMenu/ActionButtonContainer/RandomizeButton")
arrange_button = main_node.get_node("ActionMenu/ActionButtonContainer/ArrangeButton")
playerboard_ui = main_node.get_node("PlayerboardUI")
randomize_button = player_node.get_node("ActionMenu/ActionButtonContainer/RandomizeButton") # renamed main_node to player_node which is Main
arrange_button = player_node.get_node("ActionMenu/ActionButtonContainer/ArrangeButton")
playerboard_ui = player_node.get_node("PlayerboardUI")
# ... (skipping unchanged functions) ...
func set_local_player(player):
local_player_character = player
if powerup_inventory_ui:
powerup_inventory_ui.setup(player)
# Connect to powerup signals with deferred call (manager needs time to initialize)
_connect_powerup_manager_deferred(player)
func setup_action_buttons(action_state_callback):
move_button.pressed.connect(func(): action_state_callback.call(ActionState.MOVING))