fix parsing error in card board

This commit is contained in:
betalars 2025-12-02 21:33:48 +01:00
parent 630f2e99af
commit ed89874306
1 changed files with 11 additions and 5 deletions

View File

@ -625,10 +625,10 @@ func initialise_from_save(savegame: SaveGame):
rebuild_from_savedict(savegame.board_state) rebuild_from_savedict(savegame.board_state)
func rebuild_from_savedict(board_state:Dictionary): func rebuild_from_savedict(board_state:Dictionary):
var cards: Dictionary[StringName, Variant] var cards: Dictionary
if board_state["cards"] != {} : if board_state["cards"] != {} :
cards = board_state["cards"] cards = board_state["cards"]
var stickies: Dictionary[StringName, Variant] var stickies: Dictionary
if board_state["stickies"] != {} : if board_state["stickies"] != {} :
stickies = board_state["stickies"] stickies = board_state["stickies"]
var randoms: Array[StringName] var randoms: Array[StringName]
@ -637,7 +637,12 @@ func rebuild_from_savedict(board_state:Dictionary):
if cards == null and stickies == null: return if cards == null and stickies == null: return
var card_pile = HardCards.get_cards_by_name_array(cards.keys() + (stickies.keys())) var all_cards: Array[StringName]
for card_name: StringName in cards.keys():
all_cards.append(card_name)
for card_name: StringName in stickies.keys():
all_cards.append(card_name)
var card_pile = HardCards.get_cards_by_name_array(all_cards)
for card:Card in card_pile["cards"]: for card:Card in card_pile["cards"]:
add_card(card, false) add_card(card, false)
@ -647,6 +652,7 @@ func rebuild_from_savedict(board_state:Dictionary):
card.picked_random = randoms.has( card.card_id ) card.picked_random = randoms.has( card.card_id )
for sticky:StickyNote in card_pile["sticky_notes"]: for sticky:StickyNote in card_pile["sticky_notes"]:
text_recovery[sticky.name] = sticky.text text_recovery[sticky.name] = sticky.text
if stickies[sticky.name] is int:
if stickies[sticky.name] == -1: if stickies[sticky.name] == -1:
add_sticky_note(sticky, false) add_sticky_note(sticky, false)
elif stickies[sticky.name] is String: elif stickies[sticky.name] is String: