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:
Yogi Wiguna
2026-03-12 12:06:32 +08:00
parent 686ea2587e
commit 412e7bdcdd
8 changed files with 9 additions and 8610 deletions
+2 -22
View File
@@ -1445,24 +1445,8 @@ func start_movement_along_path(path: Array, clear_visual: bool = true, force: bo
snapshot_buffer.clear()
target_visual_position = grid_to_world(current_position)
# Check for buffered input
if movement_manager and movement_manager.has_method("_on_movement_finished"):
movement_manager._on_movement_finished()
# Only restore UI state if this is a human player
if not (is_bot or is_in_group("Bots")):
# Restore movement range highlights if it was the player's turn
if main and main.ui_manager.current_action_state == main.ui_manager.ActionState.MOVING and is_my_turn:
highlight_movement_range()
has_moved_this_turn = path.size() <= movement_range
if not (is_bot or is_in_group("Bots")):
# Only reset to NONE if we were in MOVING state (voluntary movement).
# If we were TARGETING/GRABBING and got pushed, preserve that state.
if main.ui_manager.current_action_state == main.ui_manager.ActionState.MOVING:
main.ui_manager.current_action_state = main.ui_manager.ActionState.NONE
if TurnManager.turn_based_mode:
end_turn()
_after_action_completed()
@@ -1760,12 +1744,8 @@ func force_action_state_none():
if is_bot or is_in_group("Bots"):
return
var main = get_tree().get_root().get_node_or_null("Main")
if main and main.ui_manager:
main.ui_manager.current_action_state = main.ui_manager.ActionState.NONE
if action_manager:
action_manager.clear_highlights()
action_manager.clear_playerboard_highlights()
clear_highlights()
clear_playerboard_highlights()
# -----------------------------------------------------------------