fix the overlapping input
This commit is contained in:
+23
-16
@@ -110,21 +110,25 @@ func setup_playerboard_ui():
|
||||
slot.get_child(2).hide()
|
||||
|
||||
func set_action_state(new_state):
|
||||
if not local_player_character or not local_player_character.is_multiplayer_authority() or current_action_state == new_state or local_player_character.action_points <= 0:
|
||||
if not local_player_character or not local_player_character.is_multiplayer_authority():
|
||||
return
|
||||
|
||||
if local_player_character.is_bot or local_player_character.is_in_group("Bots"):
|
||||
current_action_state = new_state
|
||||
return
|
||||
|
||||
if current_action_state == new_state or local_player_character.action_points <= 0:
|
||||
return
|
||||
|
||||
current_action_state = new_state
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.clear_highlights()
|
||||
local_player_character.clear_playerboard_highlights()
|
||||
local_player_character.clear_highlights()
|
||||
local_player_character.clear_playerboard_highlights()
|
||||
|
||||
match new_state:
|
||||
ActionState.MOVING:
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.highlight_movement_range()
|
||||
local_player_character.highlight_movement_range()
|
||||
ActionState.GRABBING:
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.highlight_adjacent_cells()
|
||||
local_player_character.highlight_adjacent_cells()
|
||||
if local_player_character.has_item_at_current_position():
|
||||
local_player_character.highlighted_cells.append(local_player_character.current_position)
|
||||
local_player_character.enhanced_gridmap.set_cell_item(
|
||||
@@ -132,15 +136,12 @@ func set_action_state(new_state):
|
||||
local_player_character.enhanced_gridmap.hover_item
|
||||
)
|
||||
ActionState.PUTTING:
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.highlight_occupied_playerboard_slots()
|
||||
local_player_character.highlight_occupied_playerboard_slots()
|
||||
ActionState.RANDOMIZING:
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.highlight_random_valid_cells()
|
||||
local_player_character.highlight_random_valid_cells()
|
||||
ActionState.ARRANGING:
|
||||
show_arrangement_ui()
|
||||
if local_player_character.is_bot == false:
|
||||
local_player_character.highlight_occupied_playerboard_slots()
|
||||
local_player_character.highlight_occupied_playerboard_slots()
|
||||
|
||||
func update_button_states():
|
||||
if not local_player_character or local_player_character.is_in_group("Bots"):
|
||||
@@ -388,12 +389,18 @@ func set_current_turn(player_id):
|
||||
return
|
||||
|
||||
for player in get_tree().get_nodes_in_group("Players"):
|
||||
if player.name == str(player_id):
|
||||
player.is_my_turn = true
|
||||
var is_current_turn = player.name == str(player_id)
|
||||
player.is_my_turn = is_current_turn
|
||||
|
||||
# Only reset state for human players
|
||||
if is_current_turn and not (player.is_bot or player.is_in_group("Bots")):
|
||||
player.action_points = 2
|
||||
player.has_moved_this_turn = false
|
||||
player.has_performed_action = false
|
||||
player.start_turn()
|
||||
# Clear any existing highlights from other players
|
||||
player.clear_highlights()
|
||||
player.clear_playerboard_highlights()
|
||||
else:
|
||||
player.is_my_turn = false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user