working updates
This commit is contained in:
@@ -166,7 +166,15 @@ func get_card_texture(card: CardData) -> Texture2D:
|
||||
if card.image_path.is_empty():
|
||||
return null
|
||||
|
||||
var texture_path = "res://assets/cards/" + card.image_path
|
||||
# Try source-cards directory first (primary location for card images)
|
||||
var texture_path = "res://source-cards/" + card.image_path
|
||||
if ResourceLoader.exists(texture_path):
|
||||
var texture = load(texture_path)
|
||||
_card_textures[card.id] = texture
|
||||
return texture
|
||||
|
||||
# Fallback to assets/cards directory
|
||||
texture_path = "res://assets/cards/" + card.image_path
|
||||
if ResourceLoader.exists(texture_path):
|
||||
var texture = load(texture_path)
|
||||
_card_textures[card.id] = texture
|
||||
@@ -175,25 +183,53 @@ func get_card_texture(card: CardData) -> Texture2D:
|
||||
return null
|
||||
|
||||
## Create a list of card IDs for a deck (for testing)
|
||||
func create_test_deck(_player_index: int) -> Array[String]:
|
||||
## Player 0 gets Fire/Ice deck, Player 1 gets Wind/Lightning deck
|
||||
func create_test_deck(player_index: int) -> Array[String]:
|
||||
var deck: Array[String] = []
|
||||
|
||||
# Get all cards and create a 50-card deck
|
||||
var all_cards = get_all_cards()
|
||||
# Define element pairs for each player
|
||||
var primary_element: Enums.Element
|
||||
var secondary_element: Enums.Element
|
||||
|
||||
# Add 3 copies of each card until we have 50
|
||||
for card in all_cards:
|
||||
if deck.size() >= 50:
|
||||
break
|
||||
# Add up to 3 copies
|
||||
if player_index == 0:
|
||||
primary_element = Enums.Element.FIRE
|
||||
secondary_element = Enums.Element.ICE
|
||||
else:
|
||||
primary_element = Enums.Element.WIND
|
||||
secondary_element = Enums.Element.LIGHTNING
|
||||
|
||||
# Get cards by element
|
||||
var primary_cards = get_cards_by_element(primary_element)
|
||||
var secondary_cards = get_cards_by_element(secondary_element)
|
||||
|
||||
# Add 3 copies of each primary element card
|
||||
for card in primary_cards:
|
||||
for i in range(3):
|
||||
if deck.size() >= 50:
|
||||
break
|
||||
deck.append(card.id)
|
||||
if deck.size() < 50:
|
||||
deck.append(card.id)
|
||||
|
||||
# Fill remaining slots if needed
|
||||
while deck.size() < 50 and all_cards.size() > 0:
|
||||
deck.append(all_cards[0].id)
|
||||
# Add 3 copies of each secondary element card
|
||||
for card in secondary_cards:
|
||||
for i in range(3):
|
||||
if deck.size() < 50:
|
||||
deck.append(card.id)
|
||||
|
||||
# If we still need cards, add from Earth/Water
|
||||
if deck.size() < 50:
|
||||
var filler_element = Enums.Element.EARTH if player_index == 0 else Enums.Element.WATER
|
||||
var filler_cards = get_cards_by_element(filler_element)
|
||||
for card in filler_cards:
|
||||
for i in range(3):
|
||||
if deck.size() < 50:
|
||||
deck.append(card.id)
|
||||
|
||||
# Final fallback: add any cards
|
||||
if deck.size() < 50:
|
||||
var all_cards = get_all_cards()
|
||||
for card in all_cards:
|
||||
for i in range(3):
|
||||
if deck.size() < 50:
|
||||
deck.append(card.id)
|
||||
|
||||
return deck
|
||||
|
||||
|
||||
Reference in New Issue
Block a user