Broke everything but the multiplayer lobby
This commit is contained in:
76
Scenes/Table.tscn
Normal file
76
Scenes/Table.tscn
Normal file
@ -0,0 +1,76 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://x8fd0k3qhn1x"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://crk6m37iy1itk" path="res://Assets/table.png" id="1_gchuv"]
|
||||
[ext_resource type="Script" path="res://Scripts/game.gd" id="1_ne3d3"]
|
||||
[ext_resource type="Script" path="res://Scripts/chat.gd" id="4_dww8o"]
|
||||
[ext_resource type="PackedScene" uid="uid://y2i3u6n1oowh" path="res://Scenes/deck.tscn" id="4_ugbip"]
|
||||
|
||||
[node name="Table" type="Node2D" node_paths=PackedStringArray("worker_deck", "client_deck", "worker_discard", "client_discard", "seat1", "seat2", "seat3", "seat4")]
|
||||
script = ExtResource("1_ne3d3")
|
||||
worker_deck = NodePath("Workers")
|
||||
client_deck = NodePath("Clients")
|
||||
worker_discard = NodePath("WorkerDiscard")
|
||||
client_discard = NodePath("ClientDiscard")
|
||||
seat1 = NodePath("Seat1")
|
||||
seat2 = NodePath("Seat2")
|
||||
seat3 = NodePath("Seat3")
|
||||
seat4 = NodePath("Seat4")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(5, 5)
|
||||
texture = ExtResource("1_gchuv")
|
||||
|
||||
[node name="Workers" parent="." instance=ExtResource("4_ugbip")]
|
||||
position = Vector2(-3244, -211)
|
||||
|
||||
[node name="WorkerDiscard" parent="." instance=ExtResource("4_ugbip")]
|
||||
position = Vector2(-3244, 212)
|
||||
|
||||
[node name="Clients" parent="." instance=ExtResource("4_ugbip")]
|
||||
position = Vector2(-2820, -211)
|
||||
type = 1
|
||||
|
||||
[node name="ClientDiscard" parent="." instance=ExtResource("4_ugbip")]
|
||||
position = Vector2(-2820, 212)
|
||||
type = 1
|
||||
|
||||
[node name="Seat1" type="Node2D" parent="."]
|
||||
position = Vector2(1315, 738)
|
||||
|
||||
[node name="Seat2" type="Node2D" parent="."]
|
||||
position = Vector2(-1342, 728)
|
||||
|
||||
[node name="Seat3" type="Node2D" parent="."]
|
||||
position = Vector2(-1341, -737)
|
||||
|
||||
[node name="Seat4" type="Node2D" parent="."]
|
||||
position = Vector2(1313, -747)
|
||||
|
||||
[node name="Players" type="Node2D" parent="."]
|
||||
|
||||
[node name="LobbyCamera" type="Camera2D" parent="."]
|
||||
zoom = Vector2(0.225, 0.225)
|
||||
|
||||
[node name="Button" type="Button" parent="LobbyCamera"]
|
||||
offset_left = -155.0
|
||||
offset_top = -1410.0
|
||||
offset_right = 149.0
|
||||
offset_bottom = -1265.0
|
||||
theme_override_font_sizes/font_size = 100
|
||||
text = "Ready"
|
||||
|
||||
[node name="RichTextLabel" type="RichTextLabel" parent="LobbyCamera"]
|
||||
offset_left = -2563.0
|
||||
offset_top = 561.0
|
||||
offset_right = -1210.0
|
||||
offset_bottom = 1256.0
|
||||
theme_override_font_sizes/normal_font_size = 100
|
||||
fit_content = true
|
||||
script = ExtResource("4_dww8o")
|
||||
|
||||
[node name="LineEdit" type="LineEdit" parent="LobbyCamera"]
|
||||
offset_left = -2547.0
|
||||
offset_top = 1276.0
|
||||
offset_right = -1204.0
|
||||
offset_bottom = 1421.0
|
||||
theme_override_font_sizes/font_size = 100
|
6
Scenes/bot_player.tscn
Normal file
6
Scenes/bot_player.tscn
Normal file
@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://gxofrq3ug6qe"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/bot_controller.gd" id="1_rr26g"]
|
||||
|
||||
[node name="BotPlayer" type="Node2D"]
|
||||
script = ExtResource("1_rr26g")
|
@ -1,27 +0,0 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://y2i3u6n1oowh"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/slot_button.gd" id="1_qbsj1"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2yi2r"]
|
||||
size = Vector2(229, 145)
|
||||
|
||||
[node name="CardPile" type="Node2D"]
|
||||
script = ExtResource("1_qbsj1")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
offset_left = 66.0
|
||||
offset_top = 55.0
|
||||
offset_right = 158.0
|
||||
offset_bottom = 81.0
|
||||
text = "Deck"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(112.5, 71.5)
|
||||
shape = SubResource("RectangleShape2D_2yi2r")
|
||||
disabled = true
|
||||
|
||||
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]
|
42
Scenes/deck.tscn
Normal file
42
Scenes/deck.tscn
Normal file
@ -0,0 +1,42 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://y2i3u6n1oowh"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/deck.gd" id="1_3qpwi"]
|
||||
[ext_resource type="Texture2D" uid="uid://s8r4ura4chsf" path="res://Assets/client_deck.png" id="2_v2nvn"]
|
||||
[ext_resource type="Texture2D" uid="uid://ch8n7vn43fg0p" path="res://Assets/worker_deck.png" id="3_h83vm"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_2yi2r"]
|
||||
size = Vector2(350, 250)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_y5k83"]
|
||||
size = Vector2(250, 350)
|
||||
|
||||
[node name="Deck" type="Node2D"]
|
||||
script = ExtResource("1_3qpwi")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
|
||||
[node name="ClientSprite" type="Sprite2D" parent="Area2D"]
|
||||
texture = ExtResource("2_v2nvn")
|
||||
|
||||
[node name="WorkerSprite" type="Sprite2D" parent="Area2D"]
|
||||
texture = ExtResource("3_h83vm")
|
||||
|
||||
[node name="ClientShape" type="CollisionShape2D" parent="Area2D"]
|
||||
visible = false
|
||||
shape = SubResource("RectangleShape2D_2yi2r")
|
||||
disabled = true
|
||||
|
||||
[node name="WorkerShape" type="CollisionShape2D" parent="Area2D"]
|
||||
visible = false
|
||||
shape = SubResource("RectangleShape2D_y5k83")
|
||||
disabled = true
|
||||
|
||||
[node name="Worker" type="Node2D" parent="."]
|
||||
position = Vector2(-125, -175)
|
||||
|
||||
[node name="Client" type="Node2D" parent="."]
|
||||
position = Vector2(-175, -125)
|
||||
|
||||
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]
|
||||
[connection signal="mouse_entered" from="Area2D" to="." method="_on_area_2d_mouse_entered"]
|
||||
[connection signal="mouse_exited" from="Area2D" to="." method="_on_area_2d_mouse_exited"]
|
@ -1,20 +1,19 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://b33xjpvgbjl08"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scenes/network_lobby.gd" id="1_yetq7"]
|
||||
[ext_resource type="Script" path="res://Scripts/network_lobby.gd" id="1_dsni2"]
|
||||
|
||||
[node name="Root" type="Node2D"]
|
||||
script = ExtResource("1_yetq7")
|
||||
|
||||
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
|
||||
_spawnable_scenes = PackedStringArray("res://Scenes/player.tscn", "res://Scenes/board.tscn")
|
||||
spawn_path = NodePath("../Network")
|
||||
|
||||
[node name="Network" type="Node" parent="."]
|
||||
script = ExtResource("1_dsni2")
|
||||
|
||||
[node name="UI" type="VBoxContainer" parent="."]
|
||||
offset_right = 116.0
|
||||
offset_bottom = 136.0
|
||||
|
||||
[node name="Username" type="LineEdit" parent="UI"]
|
||||
layout_mode = 2
|
||||
placeholder_text = "username"
|
||||
alignment = 2
|
||||
|
||||
[node name="IPField" type="LineEdit" parent="UI"]
|
||||
layout_mode = 2
|
||||
placeholder_text = "localhost"
|
||||
@ -37,20 +36,6 @@ text = "Host"
|
||||
layout_mode = 2
|
||||
text = "SinglePlayer"
|
||||
|
||||
[node name="TablePosition1" type="Node2D" parent="."]
|
||||
position = Vector2(-2, 1475)
|
||||
|
||||
[node name="TablePosition2" type="Node2D" parent="."]
|
||||
position = Vector2(1922, 1475)
|
||||
|
||||
[node name="TablePosition3" type="Node2D" parent="."]
|
||||
position = Vector2(-2, -339)
|
||||
rotation = 3.14159
|
||||
|
||||
[node name="TablePosition4" type="Node2D" parent="."]
|
||||
position = Vector2(1922, -339)
|
||||
rotation = 3.14159
|
||||
|
||||
[connection signal="pressed" from="UI/Connect" to="." method="connect_to_server"]
|
||||
[connection signal="pressed" from="UI/Host" to="." method="host_server"]
|
||||
[connection signal="pressed" from="UI/SinglePlayer" to="." method="_on_single_player_pressed"]
|
||||
|
62
Scenes/human_player.tscn
Normal file
62
Scenes/human_player.tscn
Normal file
@ -0,0 +1,62 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cpl32lvhwd5da"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/human_controller.gd" id="1_pu5r2"]
|
||||
[ext_resource type="Theme" uid="uid://d26ldkm1br1bo" path="res://UI_Theme.tres" id="2_ja0q8"]
|
||||
|
||||
[node name="HumanPlayer" type="Node2D"]
|
||||
script = ExtResource("1_pu5r2")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
|
||||
[node name="UI" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
theme = ExtResource("2_ja0q8")
|
||||
|
||||
[node name="Cash" type="Label" parent="UI"]
|
||||
layout_mode = 0
|
||||
offset_left = -561.0
|
||||
offset_top = -27.0
|
||||
offset_right = -521.0
|
||||
offset_bottom = -1.0
|
||||
text = "$100"
|
||||
|
||||
[node name="Profit" type="Label" parent="UI"]
|
||||
layout_mode = 0
|
||||
offset_left = -521.0
|
||||
offset_top = -27.0
|
||||
offset_right = -481.0
|
||||
offset_bottom = -1.0
|
||||
theme_override_colors/font_color = Color(0, 0.870588, 0, 1)
|
||||
text = "+23
|
||||
"
|
||||
|
||||
[node name="Loss" type="Label" parent="UI"]
|
||||
layout_mode = 0
|
||||
offset_left = -491.0
|
||||
offset_top = -27.0
|
||||
offset_right = -451.0
|
||||
offset_bottom = -1.0
|
||||
theme_override_colors/font_color = Color(0.909804, 0, 0, 1)
|
||||
text = "-38"
|
||||
|
||||
[node name="Phase" type="Label" parent="UI"]
|
||||
layout_mode = 0
|
||||
offset_left = -113.0
|
||||
offset_top = -311.0
|
||||
offset_right = 103.0
|
||||
offset_bottom = -285.0
|
||||
text = "{Management / Shift} Phase"
|
||||
|
||||
[node name="Label" type="Label" parent="UI"]
|
||||
layout_mode = 0
|
||||
offset_left = -397.0
|
||||
offset_top = -938.0
|
||||
offset_right = 401.0
|
||||
offset_bottom = -798.0
|
||||
theme_override_font_sizes/font_size = 100
|
||||
text = "99999999999999"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
@ -13,10 +13,10 @@ script = ExtResource("1_cg0id")
|
||||
|
||||
[node name="Title" type="Label" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 462.0
|
||||
offset_top = 67.0
|
||||
offset_right = 1395.0
|
||||
offset_bottom = 246.0
|
||||
offset_left = 94.0
|
||||
offset_top = 4.0
|
||||
offset_right = 1027.0
|
||||
offset_bottom = 183.0
|
||||
theme_override_font_sizes/font_size = 129
|
||||
text = "Lexi's Game"
|
||||
horizontal_alignment = 1
|
||||
@ -24,20 +24,20 @@ vertical_alignment = 1
|
||||
|
||||
[node name="Play Game" type="Button" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 740.0
|
||||
offset_top = 297.0
|
||||
offset_right = 1094.0
|
||||
offset_bottom = 460.0
|
||||
offset_left = 389.0
|
||||
offset_top = 187.0
|
||||
offset_right = 743.0
|
||||
offset_bottom = 350.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "Play"
|
||||
|
||||
[node name="Worker Deck" type="Button" parent="."]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_left = 740.0
|
||||
offset_top = 569.0
|
||||
offset_right = 1094.0
|
||||
offset_bottom = 732.0
|
||||
offset_left = 383.0
|
||||
offset_top = 394.0
|
||||
offset_right = 737.0
|
||||
offset_bottom = 557.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "worker deck
|
||||
dev tool"
|
||||
@ -45,28 +45,28 @@ dev tool"
|
||||
[node name="Task Deck" type="Button" parent="."]
|
||||
visible = false
|
||||
layout_mode = 0
|
||||
offset_left = 740.0
|
||||
offset_top = 745.0
|
||||
offset_right = 1094.0
|
||||
offset_bottom = 908.0
|
||||
offset_left = 383.0
|
||||
offset_top = 570.0
|
||||
offset_right = 737.0
|
||||
offset_bottom = 733.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "task deck
|
||||
dev tool"
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 1009.0
|
||||
offset_top = 491.0
|
||||
offset_right = 1053.0
|
||||
offset_bottom = 515.0
|
||||
offset_left = 652.0
|
||||
offset_top = 343.0
|
||||
offset_right = 696.0
|
||||
offset_bottom = 367.0
|
||||
scale = Vector2(2, 2)
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 0
|
||||
offset_left = 738.0
|
||||
offset_top = 482.0
|
||||
offset_right = 1002.0
|
||||
offset_bottom = 540.0
|
||||
offset_left = 378.0
|
||||
offset_top = 344.0
|
||||
offset_right = 642.0
|
||||
offset_bottom = 402.0
|
||||
theme_override_font_sizes/font_size = 35
|
||||
text = "Show dev tools"
|
||||
horizontal_alignment = 1
|
||||
|
@ -1,62 +0,0 @@
|
||||
extends Node2D
|
||||
|
||||
const SERVER_PORT := 58008
|
||||
const MAX_PLAYERS := 4
|
||||
|
||||
var player_scene = preload("res://Scenes/player.tscn")
|
||||
var board_scene = preload("res://Scenes/board.tscn")
|
||||
|
||||
@export var seats : Array[Node2D] = [null, null, null, null]
|
||||
var enet_peer = ENetMultiplayerPeer.new()
|
||||
var board : Board
|
||||
var players_connected = 0
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
seats[0] = $TablePosition1
|
||||
seats[1] = $TablePosition2
|
||||
seats[2] = $TablePosition3
|
||||
seats[3] = $TablePosition4
|
||||
|
||||
|
||||
func host_server() -> void:
|
||||
$UI.visible = false
|
||||
|
||||
enet_peer.create_server(SERVER_PORT, MAX_PLAYERS)
|
||||
multiplayer.multiplayer_peer = enet_peer
|
||||
|
||||
multiplayer.peer_connected.connect(create_player)
|
||||
create_player(multiplayer.get_unique_id())
|
||||
|
||||
|
||||
func connect_to_server() -> void:
|
||||
$UI.visible = false
|
||||
|
||||
var ip = $UI/IPField.text if $UI/IPField.text != "" else $UI/IPField.placeholder_text
|
||||
var port = $UI/PortField.text if $UI/PortField.text != "" else $UI/PortField.placeholder_text
|
||||
enet_peer.create_client(ip, int(port))
|
||||
multiplayer.multiplayer_peer = enet_peer
|
||||
|
||||
|
||||
func create_player(id):
|
||||
if board == null:
|
||||
board = board_scene.instantiate() as Board
|
||||
$Network.add_child(board)
|
||||
var player = player_scene.instantiate() as Player
|
||||
player.set_name(str(id))
|
||||
player.set_multiplayer_authority(id)
|
||||
player.position = seats[players_connected].position
|
||||
player.rotation = seats[players_connected].rotation
|
||||
$Network.add_child(player)
|
||||
player.rpc("attach_board", board.get_path())
|
||||
players_connected += 1
|
||||
|
||||
|
||||
func _on_single_player_pressed() -> void:
|
||||
$UI.visible = false
|
||||
board = board_scene.instantiate() as Board
|
||||
add_child(board)
|
||||
var player = player_scene.instantiate() as Player
|
||||
add_child(player)
|
||||
player.attach_board(board.get_path())
|
||||
|
@ -1,8 +1,16 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://cuptyfol5sy52"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://cuptyfol5sy52"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/player.gd" id="1_5kyvf"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/state_machine.gd" id="2_ub14e"]
|
||||
[ext_resource type="PackedScene" uid="uid://baoec8cqmedf6" path="res://Scenes/worker_slot.tscn" id="2_ugx0h"]
|
||||
[ext_resource type="PackedScene" uid="uid://y2i3u6n1oowh" path="res://Scenes/card_pile.tscn" id="3_gwbfn"]
|
||||
[ext_resource type="PackedScene" uid="uid://y2i3u6n1oowh" path="res://Scenes/deck.tscn" id="3_gwbfn"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/draft_state.gd" id="3_lo4ro"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/setup_state.gd" id="3_t8u1m"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/management_state.gd" id="4_fkrfk"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/worker_state.gd" id="5_u4lqc"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/holding_worker_state.gd" id="6_j37yg"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/shift_state.gd" id="7_4jvhu"]
|
||||
[ext_resource type="Script" path="res://Scripts/PlayerStateMachine/holding_client_state.gd" id="8_0374u"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_78syh"]
|
||||
size = Vector2(920, 268)
|
||||
@ -15,74 +23,28 @@ properties/0/path = NodePath(".:position")
|
||||
properties/0/spawn = true
|
||||
properties/0/sync = true
|
||||
|
||||
[node name="Player" type="Node2D"]
|
||||
[node name="Player" type="Node2D" node_paths=PackedStringArray("fsm")]
|
||||
script = ExtResource("1_5kyvf")
|
||||
seconds_to_hide_hand = 0.3
|
||||
seconds_to_show_hand = 0.3
|
||||
fsm = NodePath("StateMachine")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="."]
|
||||
|
||||
[node name="Money" type="Label" parent="Camera2D"]
|
||||
offset_left = -860.0
|
||||
offset_top = -154.0
|
||||
offset_right = -803.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "$"
|
||||
[node name="StateMachine" type="Node" parent="."]
|
||||
script = ExtResource("2_ub14e")
|
||||
|
||||
[node name="Payout" type="Label" parent="Camera2D"]
|
||||
offset_left = -624.0
|
||||
offset_top = -154.0
|
||||
offset_right = -567.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_colors/font_color = Color(0, 0.858824, 0, 1)
|
||||
theme_override_font_sizes/font_size = 80
|
||||
[node name="Draft" type="Node2D" parent="StateMachine"]
|
||||
visible = false
|
||||
script = ExtResource("3_lo4ro")
|
||||
|
||||
[node name="Cost" type="Label" parent="Camera2D"]
|
||||
offset_left = -624.0
|
||||
offset_top = -154.0
|
||||
offset_right = -567.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_colors/font_color = Color(0.839216, 0, 0.105882, 1)
|
||||
theme_override_font_sizes/font_size = 80
|
||||
|
||||
[node name="PhaseLabel" type="Label" parent="Camera2D"]
|
||||
[node name="Label" type="Label" parent="StateMachine/Draft"]
|
||||
offset_left = -151.0
|
||||
offset_top = -518.0
|
||||
offset_right = 117.0
|
||||
offset_bottom = -476.0
|
||||
theme_override_font_sizes/font_size = 28
|
||||
text = "Management Phase"
|
||||
text = "Choose x cards"
|
||||
|
||||
[node name="EndManagement" type="Button" parent="Camera2D"]
|
||||
offset_left = 138.0
|
||||
offset_top = -530.0
|
||||
offset_right = 483.0
|
||||
offset_bottom = -467.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Management"
|
||||
|
||||
[node name="EndShift" type="Button" parent="Camera2D"]
|
||||
visible = false
|
||||
offset_left = 138.0
|
||||
offset_top = -530.0
|
||||
offset_right = 317.0
|
||||
offset_bottom = -467.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Shift
|
||||
"
|
||||
|
||||
[node name="EndTurn" type="Button" parent="Camera2D"]
|
||||
visible = false
|
||||
offset_left = 699.0
|
||||
offset_top = -525.0
|
||||
offset_right = 879.0
|
||||
offset_bottom = -462.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Turn"
|
||||
|
||||
[node name="EndDraft" type="Button" parent="Camera2D"]
|
||||
visible = false
|
||||
[node name="ConfirmDraft" type="Button" parent="StateMachine/Draft"]
|
||||
offset_left = -214.0
|
||||
offset_top = 275.0
|
||||
offset_right = 184.0
|
||||
@ -90,7 +52,7 @@ offset_bottom = 420.0
|
||||
theme_override_font_sizes/font_size = 100
|
||||
text = "Confirm"
|
||||
|
||||
[node name="CancelDraft" type="Button" parent="Camera2D"]
|
||||
[node name="CancelDraft" type="Button" parent="StateMachine/Draft"]
|
||||
visible = false
|
||||
offset_left = -435.0
|
||||
offset_top = 313.0
|
||||
@ -99,7 +61,54 @@ offset_bottom = 390.0
|
||||
theme_override_font_sizes/font_size = 50
|
||||
text = "Cancel"
|
||||
|
||||
[node name="RoundCounter" type="Label" parent="Camera2D"]
|
||||
[node name="Setup" type="Node2D" parent="StateMachine"]
|
||||
visible = false
|
||||
script = ExtResource("3_t8u1m")
|
||||
|
||||
[node name="Management" type="Node2D" parent="StateMachine"]
|
||||
visible = false
|
||||
script = ExtResource("4_fkrfk")
|
||||
|
||||
[node name="RosterButton" type="Area2D" parent="StateMachine/Management"]
|
||||
position = Vector2(0, 476)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StateMachine/Management/RosterButton"]
|
||||
position = Vector2(13, 19)
|
||||
shape = SubResource("RectangleShape2D_78syh")
|
||||
|
||||
[node name="Money" type="Label" parent="StateMachine/Management"]
|
||||
offset_left = -860.0
|
||||
offset_top = -154.0
|
||||
offset_right = -803.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "$"
|
||||
|
||||
[node name="Cost" type="Label" parent="StateMachine/Management"]
|
||||
offset_left = -624.0
|
||||
offset_top = -154.0
|
||||
offset_right = -567.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_colors/font_color = Color(0.839216, 0, 0.105882, 1)
|
||||
theme_override_font_sizes/font_size = 80
|
||||
|
||||
[node name="HireWorkerButton" type="Button" parent="StateMachine/Management"]
|
||||
offset_left = 629.0
|
||||
offset_top = -103.0
|
||||
offset_right = 833.0
|
||||
offset_bottom = -54.0
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Hire Worker: $60"
|
||||
|
||||
[node name="StartRound" type="Button" parent="StateMachine/Management"]
|
||||
offset_left = 138.0
|
||||
offset_top = -530.0
|
||||
offset_right = 483.0
|
||||
offset_bottom = -467.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Management"
|
||||
|
||||
[node name="RoundCounter" type="Label" parent="StateMachine/Management"]
|
||||
offset_left = -410.0
|
||||
offset_top = -519.0
|
||||
offset_right = -308.0
|
||||
@ -107,30 +116,117 @@ offset_bottom = -482.0
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Round: 1"
|
||||
|
||||
[node name="TurnCounter" type="Label" parent="Camera2D"]
|
||||
[node name="PhaseLabel" type="Label" parent="StateMachine/Management"]
|
||||
offset_left = -151.0
|
||||
offset_top = -518.0
|
||||
offset_right = 117.0
|
||||
offset_bottom = -476.0
|
||||
theme_override_font_sizes/font_size = 28
|
||||
text = "Management Phase"
|
||||
|
||||
[node name="Worker" type="Node2D" parent="StateMachine"]
|
||||
visible = false
|
||||
script = ExtResource("5_u4lqc")
|
||||
|
||||
[node name="ReturnButton" type="Area2D" parent="StateMachine/Worker"]
|
||||
position = Vector2(-844, 180)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="StateMachine/Worker/ReturnButton"]
|
||||
position = Vector2(-68, 2)
|
||||
shape = SubResource("RectangleShape2D_vw0g8")
|
||||
disabled = true
|
||||
|
||||
[node name="Label" type="Label" parent="StateMachine/Worker/ReturnButton"]
|
||||
offset_left = -45.0
|
||||
offset_top = 54.0
|
||||
offset_right = 5.0
|
||||
offset_bottom = 80.0
|
||||
text = "return"
|
||||
|
||||
[node name="WorkerPlaySlots" type="Node2D" parent="StateMachine/Worker"]
|
||||
|
||||
[node name="Slot1" parent="StateMachine/Worker/WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(-631, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot2" parent="StateMachine/Worker/WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(-317, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot3" parent="StateMachine/Worker/WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(0, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot4" parent="StateMachine/Worker/WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(317, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot5" parent="StateMachine/Worker/WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(629, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="HoldingWorker" type="Node2D" parent="StateMachine/Worker"]
|
||||
script = ExtResource("6_j37yg")
|
||||
|
||||
[node name="Shift" type="Node2D" parent="StateMachine"]
|
||||
visible = false
|
||||
script = ExtResource("7_4jvhu")
|
||||
|
||||
[node name="EndRound" type="Button" parent="StateMachine/Shift"]
|
||||
visible = false
|
||||
offset_left = 138.0
|
||||
offset_top = -530.0
|
||||
offset_right = 317.0
|
||||
offset_bottom = -467.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Shift"
|
||||
|
||||
[node name="HoldingClient" type="Node2D" parent="StateMachine/Shift"]
|
||||
script = ExtResource("8_0374u")
|
||||
|
||||
[node name="PreviewTask" type="Node2D" parent="StateMachine/Shift/HoldingClient"]
|
||||
position = Vector2(-154, -346)
|
||||
|
||||
[node name="Payout" type="Label" parent="StateMachine/Shift/HoldingClient"]
|
||||
offset_left = -624.0
|
||||
offset_top = -154.0
|
||||
offset_right = -567.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_colors/font_color = Color(0, 0.858824, 0, 1)
|
||||
theme_override_font_sizes/font_size = 80
|
||||
|
||||
[node name="EndTurn" type="Button" parent="StateMachine/Shift/HoldingClient"]
|
||||
visible = false
|
||||
offset_left = 699.0
|
||||
offset_top = -525.0
|
||||
offset_right = 879.0
|
||||
offset_bottom = -462.0
|
||||
theme_override_font_sizes/font_size = 40
|
||||
text = "End Turn"
|
||||
|
||||
[node name="Money" type="Label" parent="StateMachine/Shift"]
|
||||
offset_left = -860.0
|
||||
offset_top = -154.0
|
||||
offset_right = -803.0
|
||||
offset_bottom = -14.0
|
||||
theme_override_font_sizes/font_size = 80
|
||||
text = "$"
|
||||
|
||||
[node name="TurnCounter" type="Label" parent="StateMachine/Shift"]
|
||||
offset_left = -545.0
|
||||
offset_top = -518.0
|
||||
offset_right = -491.0
|
||||
offset_right = -464.0
|
||||
offset_bottom = -481.0
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Turn: 1"
|
||||
|
||||
[node name="States" type="Node2D" parent="."]
|
||||
|
||||
[node name="Draft" type="Node2D" parent="States"]
|
||||
|
||||
[node name="Setup" type="Node2D" parent="States"]
|
||||
|
||||
[node name="Management" type="Node2D" parent="States"]
|
||||
|
||||
[node name="Worker" type="Node2D" parent="States"]
|
||||
|
||||
[node name="HoldingWorker" type="Node2D" parent="States"]
|
||||
|
||||
[node name="Shift" type="Node2D" parent="States"]
|
||||
|
||||
[node name="HoldingClient" type="Node2D" parent="States"]
|
||||
[node name="PhaseLabel" type="Label" parent="StateMachine/Shift"]
|
||||
offset_left = -151.0
|
||||
offset_top = -518.0
|
||||
offset_right = 117.0
|
||||
offset_bottom = -476.0
|
||||
theme_override_font_sizes/font_size = 28
|
||||
text = "Shift Phase"
|
||||
|
||||
[node name="RosterSection" type="Node2D" parent="."]
|
||||
|
||||
@ -179,28 +275,6 @@ position = Vector2(263, 1201)
|
||||
[node name="Position15" type="Node2D" parent="RosterSection"]
|
||||
position = Vector2(516, 1201)
|
||||
|
||||
[node name="WorkerPlaySlots" type="Node2D" parent="."]
|
||||
|
||||
[node name="Slot1" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(-631, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot2" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(-317, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot3" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(0, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot4" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(317, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="Slot5" parent="WorkerPlaySlots" instance=ExtResource("2_ugx0h")]
|
||||
position = Vector2(629, 169)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="TaskDrawDeck" parent="." instance=ExtResource("3_gwbfn")]
|
||||
position = Vector2(500, -400)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
@ -224,55 +298,19 @@ scale = Vector2(1.5, 1.5)
|
||||
position = Vector2(6.10352e-05, -400)
|
||||
scale = Vector2(1.5, 1.5)
|
||||
|
||||
[node name="RosterButton" type="Area2D" parent="."]
|
||||
position = Vector2(0, 476)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="RosterButton"]
|
||||
position = Vector2(13, 19)
|
||||
shape = SubResource("RectangleShape2D_78syh")
|
||||
|
||||
[node name="ReturnButton" type="Area2D" parent="."]
|
||||
visible = false
|
||||
position = Vector2(-844, 180)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="ReturnButton"]
|
||||
position = Vector2(-68, 2)
|
||||
shape = SubResource("RectangleShape2D_vw0g8")
|
||||
disabled = true
|
||||
|
||||
[node name="Label" type="Label" parent="ReturnButton"]
|
||||
offset_left = -45.0
|
||||
offset_top = 54.0
|
||||
offset_right = 5.0
|
||||
offset_bottom = 80.0
|
||||
text = "return"
|
||||
|
||||
[node name="HireWorkerButton" type="Button" parent="."]
|
||||
offset_left = 629.0
|
||||
offset_top = -103.0
|
||||
offset_right = 833.0
|
||||
offset_bottom = -54.0
|
||||
theme_override_font_sizes/font_size = 24
|
||||
text = "Hire Worker: $60"
|
||||
|
||||
[node name="PreviewTask" type="Node2D" parent="."]
|
||||
position = Vector2(-154, -346)
|
||||
|
||||
[node name="Hand" type="Node2D" parent="."]
|
||||
position = Vector2(0, 612)
|
||||
|
||||
[node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."]
|
||||
replication_config = SubResource("SceneReplicationConfig_jxmks")
|
||||
|
||||
[connection signal="pressed" from="Camera2D/EndManagement" to="." method="enter_shift_overview_state"]
|
||||
[connection signal="pressed" from="Camera2D/EndShift" to="." method="enter_management_overview_state"]
|
||||
[connection signal="pressed" from="Camera2D/EndTurn" to="." method="enter_shift_overview_state"]
|
||||
[connection signal="pressed" from="Camera2D/EndDraft" to="." method="confirm_draft"]
|
||||
[connection signal="pressed" from="Camera2D/CancelDraft" to="." method="cancel_draft"]
|
||||
[connection signal="button_pushed" from="TaskDrawDeck" to="." method="_on_task_draw_deck_button_pushed"]
|
||||
[connection signal="button_pushed" from="PoorDiscardPile" to="." method="move_to_poor_discard"]
|
||||
[connection signal="input_event" from="RosterButton" to="." method="_on_area_2d_input_event"]
|
||||
[connection signal="mouse_entered" from="RosterButton" to="." method="lift_hand"]
|
||||
[connection signal="mouse_exited" from="RosterButton" to="." method="drop_hand"]
|
||||
[connection signal="input_event" from="ReturnButton" to="." method="_on_area_2d_2_input_event"]
|
||||
[connection signal="pressed" from="HireWorkerButton" to="." method="_on_hire_button_pressed"]
|
||||
[connection signal="pressed" from="StateMachine/Draft/ConfirmDraft" to="StateMachine/Draft" method="confirm_draft"]
|
||||
[connection signal="pressed" from="StateMachine/Draft/CancelDraft" to="StateMachine/Draft" method="cancel_draft"]
|
||||
[connection signal="input_event" from="StateMachine/Management/RosterButton" to="." method="_on_area_2d_input_event"]
|
||||
[connection signal="mouse_entered" from="StateMachine/Management/RosterButton" to="." method="lift_hand"]
|
||||
[connection signal="mouse_exited" from="StateMachine/Management/RosterButton" to="." method="drop_hand"]
|
||||
[connection signal="pressed" from="StateMachine/Management/HireWorkerButton" to="StateMachine/Management" method="_on_hire_button_pressed"]
|
||||
[connection signal="pressed" from="StateMachine/Management/StartRound" to="StateMachine/Management" method="_on_start_round_pressed"]
|
||||
[connection signal="input_event" from="StateMachine/Worker/ReturnButton" to="." method="_on_area_2d_2_input_event"]
|
||||
[connection signal="pressed" from="StateMachine/Shift/EndRound" to="." method="enter_management_overview_state"]
|
||||
[connection signal="pressed" from="StateMachine/Shift/HoldingClient/EndTurn" to="." method="enter_shift_overview_state"]
|
||||
|
40
Scenes/player_board.tscn
Normal file
40
Scenes/player_board.tscn
Normal file
@ -0,0 +1,40 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bvxgkv7pwxh7"]
|
||||
|
||||
[ext_resource type="Script" path="res://PlayerBoard.gd" id="1_80bvu"]
|
||||
[ext_resource type="Texture2D" uid="uid://olxh7d7xkr5k" path="res://Assets/player_board.png" id="2_rx76r"]
|
||||
[ext_resource type="PackedScene" uid="uid://y2i3u6n1oowh" path="res://Scenes/deck.tscn" id="3_ypq4b"]
|
||||
[ext_resource type="PackedScene" uid="uid://baoec8cqmedf6" path="res://Scenes/worker_slot.tscn" id="4_o73ea"]
|
||||
|
||||
[node name="PlayerBoard" type="Node2D"]
|
||||
script = ExtResource("1_80bvu")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("2_rx76r")
|
||||
|
||||
[node name="ShiftDeck" parent="." instance=ExtResource("3_ypq4b")]
|
||||
position = Vector2(835, -345)
|
||||
type = 1
|
||||
|
||||
[node name="GreatDeck" parent="." instance=ExtResource("3_ypq4b")]
|
||||
position = Vector2(85, -345)
|
||||
type = 1
|
||||
|
||||
[node name="GoodDeck" parent="." instance=ExtResource("3_ypq4b")]
|
||||
position = Vector2(-385, -345)
|
||||
type = 1
|
||||
|
||||
[node name="PoorDeck" parent="." instance=ExtResource("3_ypq4b")]
|
||||
position = Vector2(-855, -345)
|
||||
type = 1
|
||||
|
||||
[node name="Slot1" parent="." instance=ExtResource("4_o73ea")]
|
||||
position = Vector2(-805, 235)
|
||||
|
||||
[node name="Slot2" parent="." instance=ExtResource("4_o73ea")]
|
||||
position = Vector2(-275, 235)
|
||||
|
||||
[node name="Slot3" parent="." instance=ExtResource("4_o73ea")]
|
||||
position = Vector2(255, 235)
|
||||
|
||||
[node name="Slot4" parent="." instance=ExtResource("4_o73ea")]
|
||||
position = Vector2(785, 235)
|
@ -31,7 +31,6 @@ font_size = 24
|
||||
size = Vector2(250, 350)
|
||||
|
||||
[node name="Card" type="Node2D"]
|
||||
position = Vector2(125, 175)
|
||||
script = ExtResource("1_bry7w")
|
||||
spread_curve = SubResource("Curve_7kl8o")
|
||||
height_curve = SubResource("Curve_b6tcq")
|
||||
@ -42,6 +41,7 @@ hand_rotation = 0.2
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture_filter = 1
|
||||
position = Vector2(125, 175)
|
||||
texture = ExtResource("2_taqnr")
|
||||
|
||||
[node name="Title" type="Label" parent="Sprite2D"]
|
||||
@ -151,15 +151,16 @@ texture = ExtResource("5_a2bm7")
|
||||
region_rect = Rect2(0, 0, 32, 32)
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="." groups=["Card"]]
|
||||
position = Vector2(125, 175)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
shape = SubResource("RectangleShape2D_awcy0")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
offset_left = 127.0
|
||||
offset_top = 153.0
|
||||
offset_right = 167.0
|
||||
offset_bottom = 179.0
|
||||
offset_left = 252.0
|
||||
offset_top = 328.0
|
||||
offset_right = 292.0
|
||||
offset_bottom = 354.0
|
||||
text = "0"
|
||||
|
||||
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]
|
||||
|
@ -1,25 +1,32 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://baoec8cqmedf6"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://baoec8cqmedf6"]
|
||||
|
||||
[ext_resource type="Script" path="res://Scripts/slot_button.gd" id="1_fras1"]
|
||||
[ext_resource type="Script" path="res://Scripts/worker_slot.gd" id="1_0xyh3"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpitf556hf0g" path="res://Assets/worker_slot.png" id="1_fxq0t"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_1gv0f"]
|
||||
size = Vector2(152, 214)
|
||||
size = Vector2(250, 350)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_27hn2"]
|
||||
size = Vector2(350, 250)
|
||||
|
||||
[node name="Worker Slot" type="Node2D"]
|
||||
script = ExtResource("1_fras1")
|
||||
script = ExtResource("1_0xyh3")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
offset_left = -72.0
|
||||
offset_top = -14.0
|
||||
offset_right = 72.0
|
||||
offset_bottom = 12.0
|
||||
text = "Empty Worker Slot"
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
texture = ExtResource("1_fxq0t")
|
||||
|
||||
[node name="Area2D" type="Area2D" parent="."]
|
||||
position = Vector2(-76, -103)
|
||||
[node name="Worker" type="Area2D" parent="."]
|
||||
position = Vector2(-225, -175)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||
position = Vector2(76, 107)
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Worker"]
|
||||
visible = false
|
||||
position = Vector2(125, 175)
|
||||
shape = SubResource("RectangleShape2D_1gv0f")
|
||||
|
||||
[connection signal="input_event" from="Area2D" to="." method="_on_area_2d_input_event"]
|
||||
[node name="Client" type="Area2D" parent="."]
|
||||
position = Vector2(-125, -175)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Client"]
|
||||
visible = false
|
||||
position = Vector2(175, 125)
|
||||
shape = SubResource("RectangleShape2D_27hn2")
|
||||
|
Reference in New Issue
Block a user