Add example scene and update gridmap assets

Added a new example scene and player script for EnhancedGridMap. Updated mesh library, materials, and tile assets for improved visuals and structure. Modified main scene and logic to support new gridmap configuration and auto item handling. Adjusted project settings for resolution and main scene path.
This commit is contained in:
2025-10-27 12:35:06 +08:00
parent 84413314ef
commit f9f7d34f80
4 changed files with 503 additions and 108 deletions
+22 -12
View File
@@ -141,10 +141,14 @@ func connection_verify(expected_players: Array):
func setup_action_buttons():
move_button.pressed.connect(func(): set_action_state(ActionState.MOVING))
grab_button.pressed.connect(func(): set_action_state(ActionState.GRABBING))
#put_button.pressed.connect(func():
#if local_player_character:
#local_player_character.handle_put_action()
#set_action_state(ActionState.PUTTING)
#)
put_button.pressed.connect(func():
if local_player_character:
local_player_character.handle_put_action()
set_action_state(ActionState.PUTTING)
local_player_character.auto_put_item()
)
randomize_button.pressed.connect(func(): set_action_state(ActionState.RANDOMIZING))
arrange_button.pressed.connect(func():
@@ -210,12 +214,15 @@ func set_action_state(new_state):
local_player_character.highlight_movement_range()
ActionState.GRABBING:
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(
Vector3i(local_player_character.current_position.x, 0, local_player_character.current_position.y),
local_player_character.enhanced_gridmap.hover_item
)
# Deactivated since, using Auto Grabber
#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(
#Vector3i(local_player_character.current_position.x, 0, local_player_character.current_position.y),
#local_player_character.enhanced_gridmap.hover_item
#)
ActionState.PUTTING:
local_player_character.highlight_occupied_playerboard_slots()
# Make sure this is client-friendly
@@ -318,10 +325,13 @@ func _on_playerboard_slot_clicked(event, slot_index):
match current_action_state:
ActionState.ARRANGING:
local_player_character.arrange_playerboard_item(slot_index)
ActionState.GRABBING:
local_player_character.handle_playerboard_slot_selected(slot_index)
ActionState.PUTTING:
local_player_character.handle_put_slot_selected(slot_index)
# Deactivated since we're using auto grab
#ActionState.GRABBING:
#local_player_character.handle_playerboard_slot_selected(slot_index)
# Deactivated since we're using auto put
#ActionState.PUTTING:
#local_player_character.handle_put_slot_selected(slot_index)
func update_playerboard_ui():
if not local_player_character: