marking cards that were picked randomly
This commit is contained in:
parent
c4a28a31bb
commit
32580bef98
|
|
@ -162,10 +162,14 @@ func populate_board(card_names: Array[StringName]):
|
||||||
var all_new:Dictionary = HardCards.get_cards_by_name_array(card_names)
|
var all_new:Dictionary = HardCards.get_cards_by_name_array(card_names)
|
||||||
|
|
||||||
# spawning the cards and adding them to the dictionary
|
# spawning the cards and adding them to the dictionary
|
||||||
for new_card in all_new["cards"]:
|
for new_card: Card in all_new["cards"]:
|
||||||
add_card(new_card, false)
|
add_card(new_card, false)
|
||||||
for new_sticky_note in all_new["sticky_notes"]: # spawning a sticky note
|
# marking the first card as random picks
|
||||||
|
new_card.picked_random = new_card.name == card_names[1]
|
||||||
|
for new_sticky_note: StickyNote in all_new["sticky_notes"]: # spawning a sticky note
|
||||||
add_sticky_note(new_sticky_note, false)
|
add_sticky_note(new_sticky_note, false)
|
||||||
|
# marking the first sticky as random picks
|
||||||
|
new_sticky_note.picked_random = new_sticky_note.name == card_names[3]
|
||||||
|
|
||||||
#currently_active_node = area_dict["dropzone_content"][0] # set first Card as currently selected node by default
|
#currently_active_node = area_dict["dropzone_content"][0] # set first Card as currently selected node by default
|
||||||
currently_active_node = dropzone.get_child(0)
|
currently_active_node = dropzone.get_child(0)
|
||||||
|
|
@ -485,15 +489,20 @@ func on_sticky_panel_cleared():
|
||||||
func get_save_dict() -> Dictionary:
|
func get_save_dict() -> Dictionary:
|
||||||
var cards: Dictionary = {}
|
var cards: Dictionary = {}
|
||||||
var stickies: Dictionary = {}
|
var stickies: Dictionary = {}
|
||||||
|
var randoms: Array[StringName]
|
||||||
|
|
||||||
for child in dropzone.get_children():
|
for child in dropzone.get_children():
|
||||||
if child is Card:
|
if child is Card:
|
||||||
# Save position of Card.
|
# Save position of Card.
|
||||||
cards[child.name] = child.transform.origin
|
cards[child.name] = child.transform.origin
|
||||||
|
if child.picked_random:
|
||||||
|
randoms.append(child)
|
||||||
|
|
||||||
if child.has_sticky_note_attached():
|
if child.has_sticky_note_attached():
|
||||||
# Saves Card Name as position of it's children.
|
# Saves Card Name as position of it's children.
|
||||||
stickies[child.get_attached_sticky_note().name] = child.name
|
stickies[child.get_attached_sticky_note().name] = child.name
|
||||||
|
if child.get_attached_sticky_note().picked_random:
|
||||||
|
randoms.append(child.get_attached_sticky_note().card_id)
|
||||||
|
|
||||||
elif child is StickyNote:
|
elif child is StickyNote:
|
||||||
# Save position of StickyNote.
|
# Save position of StickyNote.
|
||||||
|
|
@ -505,7 +514,8 @@ func get_save_dict() -> Dictionary:
|
||||||
stickies[child.attached_sticky_note.name] = -1
|
stickies[child.attached_sticky_note.name] = -1
|
||||||
return {
|
return {
|
||||||
"cards": cards,
|
"cards": cards,
|
||||||
"stickies": stickies
|
"stickies": stickies,
|
||||||
|
"randoms": randoms
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -521,6 +531,9 @@ func rebuild_from_savedict(board_state:Dictionary):
|
||||||
var stickies: Dictionary[StringName, Variant]
|
var stickies: Dictionary[StringName, Variant]
|
||||||
if board_state["stickies"] != {} :
|
if board_state["stickies"] != {} :
|
||||||
stickies = board_state["stickies"]
|
stickies = board_state["stickies"]
|
||||||
|
var randoms: Array[StringName]
|
||||||
|
if board_state["randoms"] != {} :
|
||||||
|
randoms = board_state["randoms"]
|
||||||
|
|
||||||
if cards == null and stickies == null: return
|
if cards == null and stickies == null: return
|
||||||
|
|
||||||
|
|
@ -531,6 +544,7 @@ func rebuild_from_savedict(board_state:Dictionary):
|
||||||
card.transform.origin = cards[card.name]# Replacing position reference with card reference! Needed in next loop.
|
card.transform.origin = cards[card.name]# Replacing position reference with card reference! Needed in next loop.
|
||||||
cards[card.name] = card
|
cards[card.name] = card
|
||||||
text_recovery[card.name] = card.text
|
text_recovery[card.name] = card.text
|
||||||
|
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] == -1:
|
if stickies[sticky.name] == -1:
|
||||||
|
|
@ -540,6 +554,7 @@ func rebuild_from_savedict(board_state:Dictionary):
|
||||||
else:
|
else:
|
||||||
insert_area(dropzone, sticky)
|
insert_area(dropzone, sticky)
|
||||||
sticky.transform.origin = stickies[sticky.name]
|
sticky.transform.origin = stickies[sticky.name]
|
||||||
|
sticky.picked_random == randoms.has( sticky.card_id )
|
||||||
|
|
||||||
func validate_board():
|
func validate_board():
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,9 @@ var transfor_arr: Array[Transform2D] = [
|
||||||
_on_text_updated()
|
_on_text_updated()
|
||||||
var label:Label
|
var label:Label
|
||||||
var background_sprite: AnimatedSprite2D
|
var background_sprite: AnimatedSprite2D
|
||||||
|
|
||||||
|
@export var picked_random: bool = false
|
||||||
|
|
||||||
@export var wiggle_strength: float = 0.2
|
@export var wiggle_strength: float = 0.2
|
||||||
@export var wiggle_speed: float = 5
|
@export var wiggle_speed: float = 5
|
||||||
@export_range(1, 2) var scale_bump: float = 1.05
|
@export_range(1, 2) var scale_bump: float = 1.05
|
||||||
|
|
@ -63,6 +66,7 @@ var background_sprite: AnimatedSprite2D
|
||||||
@export var is_dragable: bool = false
|
@export var is_dragable: bool = false
|
||||||
@export var diameter = 336.0
|
@export var diameter = 336.0
|
||||||
|
|
||||||
|
|
||||||
var sticky_note_position: Vector2 = Vector2(-66, 83)
|
var sticky_note_position: Vector2 = Vector2(-66, 83)
|
||||||
var collider: Shape2D
|
var collider: Shape2D
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,8 @@ var content: Node2D
|
||||||
var label: Label
|
var label: Label
|
||||||
var background_sprite: AnimatedSprite2D
|
var background_sprite: AnimatedSprite2D
|
||||||
|
|
||||||
|
@export var picked_random: bool = false
|
||||||
|
|
||||||
@export var shift_by: Vector2 = Vector2(-32, 0)
|
@export var shift_by: Vector2 = Vector2(-32, 0)
|
||||||
@export_color_no_alpha var highlight_color: Color = Color(1.5, 1.5, 1.5)
|
@export_color_no_alpha var highlight_color: Color = Color(1.5, 1.5, 1.5)
|
||||||
@export var highlighted: bool = false:
|
@export var highlighted: bool = false:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue