new features, play menu, deck builder, deck selection

This commit is contained in:
2026-01-28 20:22:09 -05:00
parent f4c7bab6b0
commit bf9aa3fa23
80 changed files with 4501 additions and 58 deletions

View File

@@ -52,7 +52,9 @@ func _on_database_loaded() -> void:
print("GameManager: Ready")
## Start a new game
func start_new_game() -> void:
## deck1 and deck2 are optional arrays of card IDs
## If empty, test decks will be created
func start_new_game(deck1: Array = [], deck2: Array = []) -> void:
if not is_initialized:
push_error("GameManager not initialized")
return
@@ -68,12 +70,24 @@ func start_new_game() -> void:
# Connect signals
_connect_game_signals()
# Create test decks
var deck1 = CardDatabase.create_test_deck(0)
var deck2 = CardDatabase.create_test_deck(1)
# Use provided decks or create test decks
var player1_deck: Array[String] = []
var player2_deck: Array[String] = []
if deck1.is_empty():
player1_deck = CardDatabase.create_test_deck(0)
else:
for card_id in deck1:
player1_deck.append(card_id)
if deck2.is_empty():
player2_deck = CardDatabase.create_test_deck(1)
else:
for card_id in deck2:
player2_deck.append(card_id)
# Setup and start
game_state.setup_game(deck1, deck2)
game_state.setup_game(player1_deck, player2_deck)
game_state.start_game()
is_game_active = true