added simple service duration selector

This commit is contained in:
Lexi Quinn 2023-06-13 19:21:13 +10:00
parent 96ff8492f9
commit ba1144479e
30 changed files with 616 additions and 344 deletions

BIN
Assets/15min.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

34
Assets/15min.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://di826qgsyf8ed"
path="res://.godot/imported/15min.png-1d598812b7d812cc8435a9a4586212f3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/15min.png"
dest_files=["res://.godot/imported/15min.png-1d598812b7d812cc8435a9a4586212f3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/15min_hovered.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lpq7mg772eix"
path="res://.godot/imported/15min_hovered.png-651ddc50c08682bd2493267757fdd910.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/15min_hovered.png"
dest_files=["res://.godot/imported/15min_hovered.png-651ddc50c08682bd2493267757fdd910.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/1hour.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

34
Assets/1hour.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2po8n2mbv375"
path="res://.godot/imported/1hour.png-5d8a07bbd8668c73d4472579b4c9bab0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/1hour.png"
dest_files=["res://.godot/imported/1hour.png-5d8a07bbd8668c73d4472579b4c9bab0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/1hour_hovered.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://pparncsv7qag"
path="res://.godot/imported/1hour_hovered.png-6a88bb1b500501fe479da621135c4da4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/1hour_hovered.png"
dest_files=["res://.godot/imported/1hour_hovered.png-6a88bb1b500501fe479da621135c4da4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/30min.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

34
Assets/30min.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bvn600licjeml"
path="res://.godot/imported/30min.png-7e7417babf5d72f607d58c46dfcfbbad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/30min.png"
dest_files=["res://.godot/imported/30min.png-7e7417babf5d72f607d58c46dfcfbbad.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/30min_hovered.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dolp5x82fgr1l"
path="res://.godot/imported/30min_hovered.png-1775b9486a25f9274fcf839f98aa8573.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/30min_hovered.png"
dest_files=["res://.godot/imported/30min_hovered.png-1775b9486a25f9274fcf839f98aa8573.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/45min.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

34
Assets/45min.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8wsa3qkt5w71"
path="res://.godot/imported/45min.png-ae31e5ea0b790d9a7f758a82ad2c0a94.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/45min.png"
dest_files=["res://.godot/imported/45min.png-ae31e5ea0b790d9a7f758a82ad2c0a94.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
Assets/45min_hovered.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0o3k8q5k10oc"
path="res://.godot/imported/45min_hovered.png-14cda5e230137baac16c38c932e01abf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/45min_hovered.png"
dest_files=["res://.godot/imported/45min_hovered.png-14cda5e230137baac16c38c932e01abf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d24a6eab77cys"
path="res://.godot/imported/client_bonus_frame.png-9906590e7d7b3900f244ec35641236fb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/client_bonus_frame.png"
dest_files=["res://.godot/imported/client_bonus_frame.png-9906590e7d7b3900f244ec35641236fb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
Assets/watch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

34
Assets/watch.png.import Normal file
View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ffu6m58vkcmm"
path="res://.godot/imported/watch.png-d70b3befdc1624e7d10836a35a228232.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/watch.png"
dest_files=["res://.godot/imported/watch.png-d70b3befdc1624e7d10836a35a228232.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

View File

@ -1,9 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://cqy1p45nku4hr"]
[gd_scene load_steps=6 format=3 uid="uid://cqy1p45nku4hr"]
[ext_resource type="Script" path="res://Scripts/bonus_icon.gd" id="1_1qclg"]
[ext_resource type="Texture2D" uid="uid://b4qqaaqnfnlft" path="res://Assets/icons.png" id="1_awpqe"]
[ext_resource type="Texture2D" uid="uid://c2oy6ox1ukog8" path="res://Assets/frame.png" id="2_au4d6"]
[ext_resource type="Texture2D" uid="uid://b4lont873b556" path="res://Assets/super.png" id="3_qnk7l"]
[ext_resource type="Texture2D" uid="uid://d24a6eab77cys" path="res://Assets/client_bonus_frame.png" id="5_ah6dq"]
[node name="Bonus1" type="Node2D"]
script = ExtResource("1_1qclg")
@ -14,6 +15,7 @@ region_enabled = true
region_rect = Rect2(0, 0, 32, 32)
[node name="frame1" type="Sprite2D" parent="."]
visible = false
position = Vector2(0, -3)
texture = ExtResource("2_au4d6")
region_rect = Rect2(0, 0, 32, 32)
@ -24,11 +26,16 @@ position = Vector2(0, -3)
texture = ExtResource("3_qnk7l")
region_rect = Rect2(0, 0, 32, 32)
[node name="clientframe" type="Sprite2D" parent="."]
position = Vector2(21, 0)
texture = ExtResource("5_ah6dq")
[node name="Label" type="Label" parent="."]
visible = false
offset_left = 24.0
offset_top = -12.0
offset_right = 64.0
offset_bottom = 14.0
offset_left = 29.0
offset_top = -28.0
offset_right = 69.0
offset_bottom = 6.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
text = "120"
theme_override_font_sizes/font_size = 22
text = "$4"

View File

@ -1,14 +1,22 @@
[gd_scene load_steps=13 format=3 uid="uid://c7j6lwbwgbosr"]
[gd_scene load_steps=25 format=3 uid="uid://c7j6lwbwgbosr"]
[ext_resource type="Script" path="res://Scripts/client.gd" id="1_bvmvn"]
[ext_resource type="Texture2D" uid="uid://dpu7jjppeja2v" path="res://Assets/task.png" id="2_k2tqp"]
[ext_resource type="Texture2D" uid="uid://de0gq6h0onwex" path="res://Assets/slice.png" id="3_pxlet"]
[ext_resource type="Texture2D" uid="uid://b72amudxuxo8n" path="res://Assets/hard.png" id="4_8gylx"]
[ext_resource type="Texture2D" uid="uid://qhoam0u12smd" path="res://Assets/bad_pip.png" id="4_h1e7v"]
[ext_resource type="Texture2D" uid="uid://bj07g3riacndc" path="res://Assets/back.png" id="4_tye4g"]
[ext_resource type="Texture2D" uid="uid://dsqwv4h4oynxu" path="res://Assets/medium_pip.png" id="5_2itu6"]
[ext_resource type="Texture2D" uid="uid://ws1ghxt16a54" path="res://Assets/hardest.png" id="5_hl5js"]
[ext_resource type="Texture2D" uid="uid://bo6ohnvl8b64o" path="res://Assets/good_pip.png" id="6_6ba24"]
[ext_resource type="PackedScene" uid="uid://cqy1p45nku4hr" path="res://Scenes/bonus_icon.tscn" id="7_24rgf"]
[ext_resource type="Texture2D" uid="uid://ffu6m58vkcmm" path="res://Assets/watch.png" id="9_uqpfx"]
[ext_resource type="Texture2D" uid="uid://bvn600licjeml" path="res://Assets/30min.png" id="10_8sc0o"]
[ext_resource type="Texture2D" uid="uid://b8wsa3qkt5w71" path="res://Assets/45min.png" id="11_bvudy"]
[ext_resource type="Texture2D" uid="uid://lpq7mg772eix" path="res://Assets/15min_hovered.png" id="11_prrc3"]
[ext_resource type="Texture2D" uid="uid://d2po8n2mbv375" path="res://Assets/1hour.png" id="12_lheht"]
[ext_resource type="Texture2D" uid="uid://di826qgsyf8ed" path="res://Assets/15min.png" id="13_mmi0r"]
[ext_resource type="Texture2D" uid="uid://dolp5x82fgr1l" path="res://Assets/30min_hovered.png" id="13_s80fk"]
[ext_resource type="Texture2D" uid="uid://0o3k8q5k10oc" path="res://Assets/45min_hovered.png" id="15_72glw"]
[ext_resource type="Texture2D" uid="uid://pparncsv7qag" path="res://Assets/1hour_hovered.png" id="17_3rk3r"]
[sub_resource type="LabelSettings" id="LabelSettings_xciys"]
font_size = 25
@ -17,6 +25,18 @@ shadow_size = 0
[sub_resource type="LabelSettings" id="LabelSettings_88ebh"]
font_size = 24
[sub_resource type="RectangleShape2D" id="RectangleShape2D_obgb8"]
size = Vector2(59.8477, 59.3524)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_055ge"]
size = Vector2(62.4642, 56.7848)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4n4wm"]
size = Vector2(68.011, 58.4376)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_c0coy"]
size = Vector2(60.7945, 58.1036)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_70vuu"]
size = Vector2(350, 250)
@ -35,9 +55,9 @@ modulate = Color(0, 0, 0, 1)
texture_filter = 1
layout_mode = 0
offset_left = 166.0
offset_top = 6.0
offset_top = 10.0
offset_right = 296.0
offset_bottom = 44.0
offset_bottom = 48.0
label_settings = SubResource("LabelSettings_xciys")
horizontal_alignment = 1
vertical_alignment = 1
@ -47,16 +67,17 @@ uppercase = true
modulate = Color(0, 0, 0, 1)
texture_filter = 1
layout_mode = 0
offset_left = 117.0
offset_top = 6.0
offset_right = 156.0
offset_bottom = 43.0
offset_left = 119.0
offset_top = 11.0
offset_right = 158.0
offset_bottom = 48.0
label_settings = SubResource("LabelSettings_88ebh")
horizontal_alignment = 1
vertical_alignment = 1
uppercase = true
[node name="Slice1" type="TextureRect" parent="front"]
visible = false
layout_mode = 0
offset_left = 318.0
offset_top = 12.0
@ -65,6 +86,7 @@ offset_bottom = 30.0
texture = ExtResource("3_pxlet")
[node name="Slice2" type="TextureRect" parent="front"]
visible = false
layout_mode = 0
offset_left = 318.0
offset_top = 28.0
@ -74,6 +96,7 @@ texture = ExtResource("3_pxlet")
flip_v = true
[node name="Slice3" type="TextureRect" parent="front"]
visible = false
layout_mode = 0
offset_left = 302.0
offset_top = 28.0
@ -84,6 +107,7 @@ flip_h = true
flip_v = true
[node name="Slice4" type="TextureRect" parent="front"]
visible = false
layout_mode = 0
offset_left = 302.0
offset_top = 12.0
@ -163,133 +187,21 @@ offset_right = 309.0
offset_bottom = 223.0
texture = ExtResource("6_6ba24")
[node name="easy" type="Node2D" parent="."]
[node name="Bonus1" parent="front" instance=ExtResource("7_24rgf")]
visible = false
position = Vector2(156, 109)
[node name="Standard" type="Node2D" parent="easy"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Great1" type="Node2D" parent="easy"]
position = Vector2(180, 151)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="easy"]
position = Vector2(270, 151)
scale = Vector2(0.9, 0.9)
[node name="medium" type="Node2D" parent="."]
[node name="Bonus2" parent="front" instance=ExtResource("7_24rgf")]
visible = false
position = Vector2(260, 109)
[node name="Background_Image" type="TextureRect" parent="medium"]
offset_left = 117.0
offset_top = 55.0
offset_right = 340.0
offset_bottom = 187.0
texture = ExtResource("4_8gylx")
[node name="Standard" type="Node2D" parent="medium"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Good1" type="Node2D" parent="medium"]
position = Vector2(180, 105)
scale = Vector2(0.9, 0.9)
[node name="Good2" type="Node2D" parent="medium"]
position = Vector2(270, 105)
scale = Vector2(0.9, 0.9)
[node name="Great1" type="Node2D" parent="medium"]
position = Vector2(180, 196)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="medium"]
position = Vector2(270, 196)
scale = Vector2(0.9, 0.9)
[node name="hard" type="Node2D" parent="."]
[node name="Bonus3" parent="front" instance=ExtResource("7_24rgf")]
visible = false
position = Vector2(156, 171)
[node name="Background_Image" type="TextureRect" parent="hard"]
offset_left = 117.0
offset_top = 55.0
offset_right = 340.0
offset_bottom = 187.0
texture = ExtResource("5_hl5js")
[node name="Standard" type="Node2D" parent="hard"]
position = Vector2(134, 73)
scale = Vector2(0.5, 0.5)
[node name="Poor1" type="Node2D" parent="hard"]
position = Vector2(180, 87)
scale = Vector2(0.9, 0.9)
[node name="Poor2" type="Node2D" parent="hard"]
position = Vector2(270, 87)
scale = Vector2(0.9, 0.9)
[node name="Good1" type="Node2D" parent="hard"]
position = Vector2(180, 151)
scale = Vector2(0.9, 0.9)
[node name="Good2" type="Node2D" parent="hard"]
position = Vector2(270, 151)
scale = Vector2(0.9, 0.9)
[node name="Great1" type="Node2D" parent="hard"]
position = Vector2(180, 209)
scale = Vector2(0.9, 0.9)
[node name="Great2" type="Node2D" parent="hard"]
position = Vector2(270, 209)
scale = Vector2(0.9, 0.9)
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(175, 125)
shape = SubResource("RectangleShape2D_70vuu")
[node name="Control" type="Control" parent="."]
[node name="Bonus4" parent="front" instance=ExtResource("7_24rgf")]
visible = false
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="4turn" type="Button" parent="Control"]
layout_mode = 0
offset_left = 91.0
offset_top = 56.0
offset_right = 155.0
offset_bottom = 118.0
text = "4"
[node name="3turn" type="Button" parent="Control"]
layout_mode = 0
offset_left = 90.0
offset_top = 131.0
offset_right = 154.0
offset_bottom = 193.0
text = "3"
[node name="2turn" type="Button" parent="Control"]
layout_mode = 0
offset_left = 176.0
offset_top = 132.0
offset_right = 240.0
offset_bottom = 194.0
text = "2"
[node name="1turn" type="Button" parent="Control"]
layout_mode = 0
offset_left = 176.0
offset_top = 56.0
offset_right = 240.0
offset_bottom = 118.0
text = "1"
position = Vector2(260, 171)
[node name="back" type="TextureRect" parent="."]
offset_top = 250.0
@ -298,7 +210,113 @@ offset_bottom = 600.0
rotation = -1.5708
texture = ExtResource("4_tye4g")
[connection signal="pressed" from="Control/4turn" to="." method="_on_turn_pressed" binds= [4]]
[connection signal="pressed" from="Control/3turn" to="." method="_on_turn_pressed" binds= [3]]
[connection signal="pressed" from="Control/2turn" to="." method="_on_turn_pressed" binds= [2]]
[connection signal="pressed" from="Control/1turn" to="." method="_on_turn_pressed" binds= [1]]
[node name="watch" type="TextureRect" parent="."]
visible = false
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("9_uqpfx")
[node name="time1" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("13_mmi0r")
[node name="time2" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("10_8sc0o")
[node name="time3" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("11_bvudy")
[node name="time4" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("12_lheht")
[node name="time_hovered1" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("11_prrc3")
[node name="time_hovered2" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("13_s80fk")
[node name="time_hovered3" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("15_72glw")
[node name="time_hovered4" type="TextureRect" parent="watch"]
visible = false
layout_mode = 0
offset_right = 350.0
offset_bottom = 250.0
texture = ExtResource("17_3rk3r")
[node name="Area2D2" type="Area2D" parent="watch"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="watch/Area2D2"]
position = Vector2(212.509, 120.249)
rotation = 0.306916
scale = Vector2(1, 1)
shape = SubResource("RectangleShape2D_obgb8")
[node name="Area2D3" type="Area2D" parent="watch"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="watch/Area2D3"]
position = Vector2(187.897, 177.388)
rotation = 0.349425
scale = Vector2(1, 1)
shape = SubResource("RectangleShape2D_055ge")
[node name="Area2D4" type="Area2D" parent="watch"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="watch/Area2D4"]
position = Vector2(120.328, 158.61)
rotation = 0.386902
shape = SubResource("RectangleShape2D_4n4wm")
[node name="Area2D" type="Area2D" parent="watch"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="watch/Area2D"]
position = Vector2(149, 101)
rotation = 0.365652
shape = SubResource("RectangleShape2D_c0coy")
[node name="Area2D" type="Area2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(175, 125)
shape = SubResource("RectangleShape2D_70vuu")
[connection signal="input_event" from="watch/Area2D2" to="." method="_on_watch_segment_input_event" binds= [0]]
[connection signal="mouse_entered" from="watch/Area2D2" to="." method="_on_watch_segment_mouse_entered" binds= [0]]
[connection signal="mouse_exited" from="watch/Area2D2" to="." method="_on_watch_segment_mouse_exited" binds= [0]]
[connection signal="input_event" from="watch/Area2D3" to="." method="_on_watch_segment_input_event" binds= [1]]
[connection signal="mouse_entered" from="watch/Area2D3" to="." method="_on_watch_segment_mouse_entered" binds= [1]]
[connection signal="mouse_exited" from="watch/Area2D3" to="." method="_on_watch_segment_mouse_exited" binds= [1]]
[connection signal="input_event" from="watch/Area2D4" to="." method="_on_watch_segment_input_event" binds= [2]]
[connection signal="mouse_entered" from="watch/Area2D4" to="." method="_on_watch_segment_mouse_entered" binds= [2]]
[connection signal="mouse_exited" from="watch/Area2D4" to="." method="_on_watch_segment_mouse_exited" binds= [2]]
[connection signal="input_event" from="watch/Area2D" to="." method="_on_watch_segment_input_event" binds= [3]]
[connection signal="mouse_entered" from="watch/Area2D" to="." method="_on_watch_segment_mouse_entered" binds= [3]]
[connection signal="mouse_exited" from="watch/Area2D" to="." method="_on_watch_segment_mouse_exited" binds= [3]]

View File

@ -515,86 +515,12 @@ popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList5" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = -32.0
offset_top = 104.0
offset_right = 111.0
offset_bottom = 165.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="ItemList6" type="OptionButton" parent="Control"]
layout_mode = 2
offset_left = 115.0
offset_top = 104.0
offset_right = 258.0
offset_bottom = 165.0
item_count = 10
popup/item_0/text = "none"
popup/item_0/id = 0
popup/item_1/text = "cross"
popup/item_1/icon = SubResource("AtlasTexture_4fx3s")
popup/item_1/id = 1
popup/item_2/text = "square"
popup/item_2/icon = SubResource("AtlasTexture_thch8")
popup/item_2/id = 2
popup/item_3/text = "triangle"
popup/item_3/icon = SubResource("AtlasTexture_um33r")
popup/item_3/id = 3
popup/item_4/text = "crescent"
popup/item_4/icon = SubResource("AtlasTexture_1bvig")
popup/item_4/id = 4
popup/item_5/text = "puppy"
popup/item_5/icon = SubResource("AtlasTexture_t81qe")
popup/item_5/id = 5
popup/item_6/text = "river"
popup/item_6/icon = SubResource("AtlasTexture_703sl")
popup/item_6/id = 6
popup/item_7/text = "star"
popup/item_7/icon = SubResource("AtlasTexture_cyh1f")
popup/item_7/id = 7
popup/item_8/text = "chain"
popup/item_8/icon = SubResource("AtlasTexture_kkprq")
popup/item_8/id = 8
popup/item_9/text = "gust"
popup/item_9/icon = SubResource("AtlasTexture_02lrn")
popup/item_9/id = 9
[node name="LineEdit" type="LineEdit" parent="Control"]
layout_mode = 0
offset_left = 29.0
offset_top = -111.0
offset_top = -107.0
offset_right = 188.0
offset_bottom = -69.0
offset_bottom = -65.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_placeholder_color = Color(0, 0, 0, 0.537255)
theme_override_font_sizes/font_size = 24
@ -605,10 +531,10 @@ flat = true
[node name="LineEdit2" type="LineEdit" parent="Control"]
layout_mode = 0
offset_left = -58.0
offset_top = -112.0
offset_right = 38.0
offset_bottom = -70.0
offset_left = -53.0
offset_top = -109.0
offset_right = 43.0
offset_bottom = -67.0
theme_override_colors/font_color = Color(0, 0, 0, 1)
theme_override_colors/font_placeholder_color = Color(0, 0, 0, 0.537255)
theme_override_font_sizes/font_size = 24
@ -618,10 +544,10 @@ flat = true
[node name="TextureButton2" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 226.0
offset_top = -91.0
offset_right = 266.0
offset_bottom = -51.0
offset_left = 216.5
offset_top = -86.4999
offset_right = 234.5
offset_bottom = -68.4999
scale = Vector2(1.25, 1.25)
toggle_mode = true
button_pressed = true
@ -630,10 +556,10 @@ flip_v = true
[node name="TextureButton" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 227.0
offset_top = -88.0
offset_right = 267.0
offset_bottom = -48.0
offset_left = 216.5
offset_top = -82.4999
offset_right = 234.5
offset_bottom = -64.4999
rotation = -1.57079
scale = Vector2(1.25, 1.25)
toggle_mode = true
@ -643,10 +569,10 @@ flip_v = true
[node name="TextureButton4" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 228.0
offset_top = -89.0
offset_right = 268.0
offset_bottom = -49.0
offset_left = 220.5
offset_top = -82.4999
offset_right = 238.5
offset_bottom = -64.4999
rotation = -3.14159
scale = Vector2(1.25, 1.25)
toggle_mode = true
@ -656,10 +582,10 @@ flip_v = true
[node name="TextureButton3" type="TextureButton" parent="Control"]
layout_mode = 0
offset_left = 228.0
offset_top = -91.0
offset_right = 268.0
offset_bottom = -51.0
offset_left = 220.5
offset_top = -86.4998
offset_right = 238.5
offset_bottom = -68.4998
rotation = -4.71238
scale = Vector2(1.25, 1.25)
toggle_mode = true

View File

@ -92,22 +92,6 @@ text = "0/1"
horizontal_alignment = 1
vertical_alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UI"]
layout_mode = 1
anchors_preset = -1
anchor_top = 1.0
anchor_bottom = 1.0
offset_top = -178.0
offset_right = 254.0
grow_vertical = 0
[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/UI/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="LineEdit" type="LineEdit" parent="CanvasLayer/UI/VBoxContainer"]
layout_mode = 2
[node name="Hire" type="Button" parent="CanvasLayer/UI"]
layout_mode = 1
anchors_preset = -1
@ -221,6 +205,22 @@ grow_horizontal = 2
grow_vertical = 0
color = Color(0.85098, 0, 1, 1)
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/UI"]
layout_mode = 1
anchors_preset = -1
anchor_top = 1.0
anchor_bottom = 1.0
offset_top = -178.0
offset_right = 254.0
grow_vertical = 0
[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/UI/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="LineEdit" type="LineEdit" parent="CanvasLayer/UI/VBoxContainer"]
layout_mode = 2
[connection signal="pressed" from="CanvasLayer/UI/Confirm" to="." method="_on_confirm_pressed"]
[connection signal="pressed" from="CanvasLayer/UI/HBoxContainer/LobbyReadyButton" to="." method="_on_lobby_ready_button_pressed"]
[connection signal="text_submitted" from="CanvasLayer/UI/VBoxContainer/LineEdit" to="." method="_on_line_edit_text_submitted"]

View File

@ -58,6 +58,7 @@ func select_workspace(workspace):
return
rpc("networked_select_workspace", workspace.get_path(), current_client.get_path())
#workspace.add_client(current_client)
current_client.show_time_selector()
current_client = null
#rpc("end_turn")

View File

@ -12,6 +12,6 @@ func get_icon(x):
func set_service(_service):
service = _service
$Label.text = str(Data.service_prices[service])
$Label.text = "$" + str(Data.service_prices[service])
$Label.visible = true
$"Icon1".region_rect = Rect2(get_icon(service), 0, 32, 32)

View File

@ -3,14 +3,11 @@ extends Card
signal time_slots_selected
enum difficulties {EASY, MEDIUM, HARD}
var icon_prefab = preload("res://Scenes/bonus_icon.tscn")
var bad_pip_sprite = preload("res://Assets/bad_pip.png")
var medium_pip_sprite = preload("res://Assets/medium_pip.png")
var good_pip_sprite = preload("res://Assets/good_pip.png")
var title = "New Task"
var difficulty = difficulties.EASY
var initial_stress = 0
var turns_left = 4
var time_slots = [true, true, false, true]
@ -18,7 +15,10 @@ 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 time_button_sprites: Array[TextureRect] = []
@export var time_hovered_sprites: Array[TextureRect] = []
func _ready():
@ -30,6 +30,18 @@ func _ready():
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):
@ -37,40 +49,17 @@ func _process(delta):
slide(delta)
func setup(_title, _initial_stress, _time_slots, _services, _medium, _good):
func setup(_title, _initial_stress, _time_slots, _services):
if _title != "":
title = _title
initial_stress = _initial_stress
time_slots = _time_slots
medium_threshold = _medium
good_threshold = _good
for x in pip_sprites.size():
if x < 2:
continue
if x >= good_threshold:
pip_sprites[x - 2].texture = good_pip_sprite
if x < good_threshold:
pip_sprites[x - 2].texture = medium_pip_sprite
if x < medium_threshold:
pip_sprites[x - 2].texture = bad_pip_sprite
if time_slots[0] == true:
$"Control/1turn".visible = true
if time_slots[1] == true:
$"Control/2turn".visible = true
if time_slots[2] == true:
$"Control/3turn".visible = true
if time_slots[3] == true:
$"Control/4turn".visible = true
services = []
if _services != null and _services != []:
services.append_array(_services)
match services.size():
2, 3:
difficulty = difficulties.EASY
4, 5:
difficulty = difficulties.MEDIUM
6, 7:
difficulty = difficulties.HARD
for x in time_button_sprites.size():
if time_slots[x] == true:
time_button_sprites[x].visible = true
$front/Slice1.visible = false
$front/Slice2.visible = false
$front/Slice3.visible = false
@ -85,65 +74,50 @@ func setup(_title, _initial_stress, _time_slots, _services, _medium, _good):
$front/Slice4.visible = true
$front/Title.text = str(title)
$"front/Initial Stress".text = str(initial_stress)
for x in icon_list:
x.queue_free()
icon_list = []
match difficulty:
difficulties.EASY:
$easy.visible = true
var array_of_bullshit = []
array_of_bullshit.append($easy/Standard)
array_of_bullshit.append($easy/Great1)
array_of_bullshit.append($easy/Great2)
for x in array_of_bullshit:
var instance = icon_prefab.instantiate()
icon_list.append(instance)
x.add_child(instance)
difficulties.MEDIUM:
$medium.visible = true
var array_of_bullshit = []
array_of_bullshit.append($medium/Standard)
array_of_bullshit.append($medium/Good1)
array_of_bullshit.append($medium/Good2)
array_of_bullshit.append($medium/Great1)
array_of_bullshit.append($medium/Great2)
for x in array_of_bullshit:
var instance = icon_prefab.instantiate()
icon_list.append(instance)
x.add_child(instance)
difficulties.HARD:
$hard.visible = true
var array_of_bullshit = []
array_of_bullshit.append($hard/Standard)
array_of_bullshit.append($hard/Poor1)
array_of_bullshit.append($hard/Poor2)
array_of_bullshit.append($hard/Good1)
array_of_bullshit.append($hard/Good2)
array_of_bullshit.append($hard/Great1)
array_of_bullshit.append($hard/Great2)
for x in array_of_bullshit:
var instance = icon_prefab.instantiate()
icon_list.append(instance)
x.add_child(instance)
for x in icon_list.size():
if x < services.size():
icon_list[x].set_service(services[x])
else:
icon_list[x].visible = false
for x in services.size():
if x == 0:
continue
icon_list[x - 1].set_service(services[x])
icon_list[x - 1].visible = true
good_threshold = 10 - (5 - services.size())
medium_threshold = 4
if time_slots[3] == false:
good_threshold -= 1
if time_slots[2] == false:
good_threshold -= 1
if time_slots[1] == false:
good_threshold -= 1
if time_slots[0] == false:
medium_threshold += 1
if time_slots[1] == false:
medium_threshold += 1
if time_slots[2] == false:
medium_threshold += 1
for x in pip_sprites.size() + 2:
if x < 2:
continue
if x >= good_threshold:
pip_sprites[x - 2].texture = good_pip_sprite
if x < good_threshold:
pip_sprites[x - 2].texture = medium_pip_sprite
if x < medium_threshold:
pip_sprites[x - 2].texture = bad_pip_sprite
func show_time_selector():
$Control.visible = true
watch_on = true
$watch.visible = true
func update_counter():
$"Background/Turns Left Counter".text = str(turns_left)
$"front/Turns Left Counter".text = str(turns_left)
func _on_turn_pressed(num):
turns_left = num
update_counter()
$Control.visible = false
$watch.visible = false
watch_on = false
time_slots_selected.emit()
@ -155,3 +129,20 @@ func turn_front():
func turn_back():
$back.visible = true
$front.visible = false
func _on_watch_segment_mouse_entered(extra_arg_0: int) -> void:
if not watch_on or not time_slots[extra_arg_0]:
return
for x in extra_arg_0 + 1:
time_hovered_sprites[x].visible = true
func _on_watch_segment_mouse_exited(extra_arg_0: int) -> void:
for sprite in time_hovered_sprites:
sprite.visible = false
func _on_watch_segment_input_event(viewport: Node, event: InputEvent, shape_idx: int, extra_arg_0: int) -> void:
if event is InputEventMouseButton and event.pressed:
_on_turn_pressed(extra_arg_0 + 1)

View File

@ -73,7 +73,6 @@ func load_deck():
bool_array.append(bool(x))
for x in value.slice(5, value.size()):
int_array.append(int(x))
card_instance.setup(key, int(value[0]), bool_array, int_array)
card_instance.position = Vector2(-927, -176)
card_instance.scale = Vector2(1.288, 1.288)
card_instance.turn_front()
@ -83,6 +82,7 @@ func load_deck():
card_array[selected_card].visible = false
selected_card = card_array.size() - 1
add_child(card_instance)
card_instance.setup(key, int(value[0]), bool_array, int_array)
$Control/LineEdit.text = "task " + str(card_count)
count_traits()
$card_count.text = str(selected_card + 1) + "/" + str(card_array.size())
@ -111,13 +111,6 @@ func count_traits():
var difficulty_counts = [0, 0, 0]
var symbol_counts = [0, 0, 0, 0, 0, 0, 0, 0, 0]
for card in card_array:
match card.difficulty:
0:
difficulty_counts[0] += 1
1:
difficulty_counts[1] += 1
2:
difficulty_counts[2] += 1
for x in 10:
if x == 0:
continue
@ -145,10 +138,6 @@ func determine_card():
services.append($Control/ItemList3.selected)
if $Control/ItemList4.selected > 0:
services.append($Control/ItemList4.selected)
if $Control/ItemList5.selected > 0:
services.append($Control/ItemList5.selected)
if $Control/ItemList6.selected > 0:
services.append($Control/ItemList6.selected)
card.append_array(services)
return card
@ -176,7 +165,6 @@ func generate_card_from_buttons():
if card == null:
return
var card_instance = card_scene.instantiate()
card_instance.setup(str($Control/LineEdit.text), card[0], card.slice(1, 5), card.slice(5, card.size()))
card_instance.position = Vector2(-926, -176)
card_instance.scale = Vector2(1.288, 1.288)
card_instance.turn_front()
@ -186,6 +174,7 @@ func generate_card_from_buttons():
card_array[selected_card].visible = false
selected_card = card_array.size() - 1
add_child(card_instance)
card_instance.setup(str($Control/LineEdit.text), card[0], card.slice(1, 5), card.slice(5, card.size()))
$Control/LineEdit.text = "task " + str(card_count)
count_traits()
$card_count.text = str(selected_card + 1) + "/" + str(card_array.size())

View File

@ -72,8 +72,8 @@ func _load_clients():
bool_array.append(bool(x))
for x in value.slice(5, value.size()):
int_array.append(int(x))
card_instance.setup(key, int(value[0]), bool_array, int_array)
add_child(card_instance)
card_instance.setup(key, int(value[0]), bool_array, int_array)
client_deck.place(card_instance)
client_deck.shuffle()