feat: Implement initial main scene, player scripts, and core game manager systems for input, actions, playerboard, special tiles, and UI.
This commit is contained in:
@@ -11,12 +11,6 @@ const item_tex = [
|
||||
]
|
||||
|
||||
# Node references - will be set by Main
|
||||
var action_menu
|
||||
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 victory_ui_scene = null
|
||||
var powerup_inventory_ui_script = preload("res://scripts/ui/powerup_inventory_ui.gd")
|
||||
@@ -33,31 +27,12 @@ var player_name_label: Label # Shows player name on main UI
|
||||
var local_player_character
|
||||
var _previous_playerboard_state: Array = []
|
||||
|
||||
enum ActionState {
|
||||
NONE,
|
||||
MOVING,
|
||||
GRABBING,
|
||||
ARRANGING,
|
||||
RANDOMIZING,
|
||||
TARGETING
|
||||
}
|
||||
|
||||
var current_action_state = ActionState.NONE
|
||||
var pending_skill_id: int = -1
|
||||
|
||||
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 = player_node.get_node("ActionMenu")
|
||||
|
||||
var button_container = player_node.get_node("ActionMenu/ActionButtonContainer")
|
||||
move_button = button_container.get_node("MoveButton")
|
||||
grab_button = button_container.get_node("GrabButton")
|
||||
put_button = button_container.get_node("PutButton")
|
||||
randomize_button = button_container.get_node("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")
|
||||
|
||||
# Connect PlayerName label (Level/XP/Name UI)
|
||||
@@ -78,18 +53,6 @@ func set_local_player(player):
|
||||
player_name_label.text = player.display_name
|
||||
print("[UIManager] Updated PlayerName label to: ", player.display_name)
|
||||
|
||||
func setup_action_buttons(action_state_callback):
|
||||
move_button.pressed.connect(func(): action_state_callback.call(ActionState.MOVING))
|
||||
grab_button.pressed.connect(func(): action_state_callback.call(ActionState.GRABBING))
|
||||
put_button.pressed.connect(func():
|
||||
if local_player_character:
|
||||
local_player_character.auto_put_item()
|
||||
)
|
||||
randomize_button.pressed.connect(func(): action_state_callback.call(ActionState.RANDOMIZING))
|
||||
arrange_button.pressed.connect(func():
|
||||
if local_player_character and local_player_character.action_points >= 2:
|
||||
action_state_callback.call(ActionState.ARRANGING)
|
||||
)
|
||||
|
||||
func setup_playerboard_ui():
|
||||
for child in playerboard_ui.get_children():
|
||||
@@ -238,25 +201,6 @@ func _pulse_slot_effect(slot: Control):
|
||||
slot.modulate = Color(1.5, 1.5, 1.5) # Overbright
|
||||
tween.parallel().tween_property(slot, "modulate", original_modulate, 0.3)
|
||||
|
||||
func update_button_states():
|
||||
if not local_player_character or local_player_character.is_in_group("Bots"):
|
||||
move_button.visible = false
|
||||
grab_button.visible = false
|
||||
put_button.visible = false
|
||||
randomize_button.visible = false
|
||||
arrange_button.visible = false
|
||||
return
|
||||
|
||||
move_button.visible = true
|
||||
grab_button.visible = true
|
||||
put_button.visible = true
|
||||
randomize_button.visible = true
|
||||
arrange_button.visible = true
|
||||
|
||||
move_button.disabled = false
|
||||
grab_button.disabled = false
|
||||
put_button.disabled = false
|
||||
arrange_button.disabled = false
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user