removed workarounds for a bug no longer present since Godot 4.1.Stable
This commit is contained in:
71
Scripts/PlayerBoard.gd
Normal file
71
Scripts/PlayerBoard.gd
Normal file
@ -0,0 +1,71 @@
|
||||
class_name PlayerBoard
|
||||
extends Node2D
|
||||
|
||||
var player_info = {}
|
||||
var workers = []
|
||||
var roster = []
|
||||
signal clients_discarded(cards: Array[NodePath])
|
||||
@export var poor_deck: Deck
|
||||
@export var good_deck: Deck
|
||||
@export var great_deck: Deck
|
||||
@export var shift_deck: Deck
|
||||
@export var slots: Array[Workspace] = []
|
||||
|
||||
|
||||
func add_to_roster(node_paths):
|
||||
var cards = []
|
||||
for path in node_paths:
|
||||
cards.append(get_node(path))
|
||||
roster.append_array(cards)
|
||||
for x in 4:
|
||||
if x < roster.size():
|
||||
slots[x].add_worker(roster[x])
|
||||
|
||||
|
||||
func draw_client():
|
||||
var card = shift_deck.draw_card()
|
||||
card.slide_to_position(position.x, position.y, 0.0, 0.3)
|
||||
card.turn_front()
|
||||
|
||||
|
||||
func process_decks() -> int:
|
||||
var discards = []
|
||||
var points = 0
|
||||
for card in poor_deck.cards:
|
||||
card.turn_back()
|
||||
points -= 1
|
||||
for card in good_deck.cards:
|
||||
card.turn_back()
|
||||
points += 2
|
||||
for card in great_deck.cards:
|
||||
card.turn_back()
|
||||
points += 5
|
||||
poor_deck.shuffle()
|
||||
good_deck.shuffle()
|
||||
great_deck.shuffle()
|
||||
for card in poor_deck.draw_cards(poor_deck.cards.size() - 1):
|
||||
discards.append(card.get_path())
|
||||
for card in good_deck.draw_cards(ceil(good_deck.cards.size() / 2.0)):
|
||||
discards.append(card.get_path())
|
||||
for card in great_deck.draw_cards(min(great_deck.cards.size(), 1)):
|
||||
discards.append(card.get_path())
|
||||
for card in poor_deck.draw_cards(poor_deck.cards.size()):
|
||||
shift_deck.place(card)
|
||||
for card in good_deck.draw_cards(good_deck.cards.size()):
|
||||
shift_deck.place(card)
|
||||
for card in great_deck.draw_cards(great_deck.cards.size()):
|
||||
shift_deck.place(card)
|
||||
clients_discarded.emit(discards)
|
||||
return points
|
||||
|
||||
|
||||
func time_step(skip_ahead: bool):
|
||||
for x in 4:
|
||||
var result : Client = slots[x].time_step(skip_ahead)
|
||||
if result != null:
|
||||
if result.satisfaction < result.medium_threshold:
|
||||
poor_deck.place(result)
|
||||
elif result.satisfaction < result.good_threshold:
|
||||
good_deck.place(result)
|
||||
elif result.satisfaction >= result.good_threshold:
|
||||
great_deck.place(result)
|
@ -2,8 +2,9 @@ extends Node2D
|
||||
|
||||
var card_scene = preload("res://Scenes/worker_card.tscn")
|
||||
var icon_order = [0, 1, 3, 5, 7, 8, 6, 4, 2]
|
||||
var symbol_buttons : Array[TextureButton] = []
|
||||
var symbol_count_labels : Array[LineEdit] = []
|
||||
|
||||
@export var symbol_buttons : Array[TextureButton] = []
|
||||
@export var symbol_count_labels : Array[LineEdit] = []
|
||||
|
||||
var card_array = []
|
||||
var selected_card = 0
|
||||
@ -16,26 +17,6 @@ var WORKER_DECK_SAVE_PATH = "user://worker_deck.json"
|
||||
#"worker 2": [10, 1, 3, 4, 8]
|
||||
|
||||
func _ready():
|
||||
#workaround for node array export bug present in Godot 4.0.3.Stable
|
||||
symbol_buttons.append($"crossbutton")
|
||||
symbol_buttons.append($"squarebutton")
|
||||
symbol_buttons.append($"trianglebutton")
|
||||
symbol_buttons.append($"crescentbutton")
|
||||
symbol_buttons.append($"puppybutton")
|
||||
symbol_buttons.append($"riverbutton")
|
||||
symbol_buttons.append($"starbutton")
|
||||
symbol_buttons.append($"chainbutton")
|
||||
symbol_buttons.append($"gustbutton")
|
||||
symbol_count_labels.append($"crosscount")
|
||||
symbol_count_labels.append($"squarecount")
|
||||
symbol_count_labels.append($"trianglecount")
|
||||
symbol_count_labels.append($"crescentcount")
|
||||
symbol_count_labels.append($"puppycount")
|
||||
symbol_count_labels.append($"rivercount")
|
||||
symbol_count_labels.append($"starcount")
|
||||
symbol_count_labels.append($"chaincount")
|
||||
symbol_count_labels.append($"gustcount")
|
||||
|
||||
load_deck()
|
||||
|
||||
func new_deck():
|
||||
|
@ -11,40 +11,18 @@ var title = "New Task"
|
||||
var initial_stress = 0
|
||||
var turns_left = 4
|
||||
var time_slots = [true, true, false, true]
|
||||
var icon_list = []
|
||||
var medium_threshold := 5
|
||||
var good_threshold := 8
|
||||
var satisfaction := 1
|
||||
var watch_on := false
|
||||
|
||||
@export var pip_sprites: Array[TextureRect] = []
|
||||
@export var icon_list: Array[Node2D] = []
|
||||
@export var time_button_sprites: Array[TextureRect] = []
|
||||
@export var time_hovered_sprites: Array[TextureRect] = []
|
||||
@export var watch: TextureRect
|
||||
|
||||
|
||||
func _ready():
|
||||
pip_sprites.append($front/pip2)
|
||||
pip_sprites.append($front/pip3)
|
||||
pip_sprites.append($front/pip4)
|
||||
pip_sprites.append($front/pip5)
|
||||
pip_sprites.append($front/pip6)
|
||||
pip_sprites.append($front/pip7)
|
||||
pip_sprites.append($front/pip8)
|
||||
pip_sprites.append($front/pip9)
|
||||
icon_list.append($front/Bonus1)
|
||||
icon_list.append($front/Bonus2)
|
||||
icon_list.append($front/Bonus3)
|
||||
icon_list.append($front/Bonus4)
|
||||
time_button_sprites.append($watch/time1)
|
||||
time_button_sprites.append($watch/time2)
|
||||
time_button_sprites.append($watch/time3)
|
||||
time_button_sprites.append($watch/time4)
|
||||
time_hovered_sprites.append($watch/time_hovered1)
|
||||
time_hovered_sprites.append($watch/time_hovered2)
|
||||
time_hovered_sprites.append($watch/time_hovered3)
|
||||
time_hovered_sprites.append($watch/time_hovered4)
|
||||
|
||||
|
||||
func _process(delta):
|
||||
if sliding:
|
||||
slide(delta)
|
||||
|
@ -2,8 +2,9 @@ extends Node2D
|
||||
|
||||
var card_scene = preload("res://Scenes/client_card.tscn")
|
||||
var icon_order = [0, 1, 3, 5, 7, 8, 6, 4, 2]
|
||||
var symbol_buttons : Array[TextureButton] = []
|
||||
var symbol_count_labels : Array[LineEdit] = []
|
||||
|
||||
@export var symbol_buttons : Array[TextureButton] = []
|
||||
@export var symbol_count_labels : Array[LineEdit] = []
|
||||
|
||||
var card_array = []
|
||||
var selected_card = 0
|
||||
@ -12,27 +13,7 @@ var card_count = 1
|
||||
var CLIENT_DECK_SAVE_PATH = "user://client_deck.json"
|
||||
|
||||
func _ready():
|
||||
#workaround for node array export bug present in Godot 4.0.3.Stable
|
||||
symbol_buttons.append($"crossbutton")
|
||||
symbol_buttons.append($"squarebutton")
|
||||
symbol_buttons.append($"trianglebutton")
|
||||
symbol_buttons.append($"crescentbutton")
|
||||
symbol_buttons.append($"puppybutton")
|
||||
symbol_buttons.append($"riverbutton")
|
||||
symbol_buttons.append($"starbutton")
|
||||
symbol_buttons.append($"chainbutton")
|
||||
symbol_buttons.append($"gustbutton")
|
||||
symbol_count_labels.append($"crosscount")
|
||||
symbol_count_labels.append($"squarecount")
|
||||
symbol_count_labels.append($"trianglecount")
|
||||
symbol_count_labels.append($"crescentcount")
|
||||
symbol_count_labels.append($"puppycount")
|
||||
symbol_count_labels.append($"rivercount")
|
||||
symbol_count_labels.append($"starcount")
|
||||
symbol_count_labels.append($"chaincount")
|
||||
symbol_count_labels.append($"gustcount")
|
||||
$Control/Card.turn_front()
|
||||
|
||||
load_deck()
|
||||
|
||||
func new_deck():
|
||||
|
Reference in New Issue
Block a user