Merge commit '6180c51f7c642b6f858c8f15912a00cada007968' into state_mangement
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 105 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 104 KiB |
|
|
@ -0,0 +1,142 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="1024"
|
||||
height="1024"
|
||||
viewBox="0 0 270.93333 270.93333"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="void_overlay.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#505050"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.64693624"
|
||||
inkscape:cx="-183.17106"
|
||||
inkscape:cy="428.17203"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2095"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient925">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="0.83069605"
|
||||
id="stop923" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop921" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient925"
|
||||
id="radialGradient927"
|
||||
cx="61.507626"
|
||||
cy="103.71676"
|
||||
fx="61.507626"
|
||||
fy="103.71676"
|
||||
r="37.458996"
|
||||
gradientTransform="matrix(1.0848971,-0.01406165,0.0138466,1.0683051,-22.35128,-66.298143)"
|
||||
gradientUnits="userSpaceOnUse" />
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter978"
|
||||
x="-0.01480182"
|
||||
y="-0.01480182"
|
||||
width="1.0296036"
|
||||
height="1.0296036">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.45032961"
|
||||
id="feGaussianBlur980" />
|
||||
</filter>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient925"
|
||||
id="radialGradient988"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0848971,-0.01406165,0.0138466,1.0683051,-170.87366,-73.433246)"
|
||||
cx="61.507626"
|
||||
cy="103.71676"
|
||||
fx="61.507626"
|
||||
fy="103.71676"
|
||||
r="37.458996" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient925"
|
||||
id="radialGradient992"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0848971,-0.01406165,0.0138466,1.0683051,-170.87366,-73.433246)"
|
||||
cx="61.507626"
|
||||
cy="103.71676"
|
||||
fx="61.507626"
|
||||
fy="103.71676"
|
||||
r="37.458996" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient925"
|
||||
id="radialGradient996"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0848971,-0.01406165,0.0138466,1.0683051,-170.87366,-73.433246)"
|
||||
cx="61.507626"
|
||||
cy="103.71676"
|
||||
fx="61.507626"
|
||||
fy="103.71676"
|
||||
r="37.458996" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<circle
|
||||
style="mix-blend-mode:normal;fill:url(#radialGradient927);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 7.99999;paint-order:stroke fill markers;filter:url(#filter978)"
|
||||
id="path234"
|
||||
cx="46.295574"
|
||||
cy="40.149464"
|
||||
r="36.50872"
|
||||
transform="matrix(3.1115622,0,0,3.1115622,5.288915,8.187228)" />
|
||||
<circle
|
||||
style="mix-blend-mode:normal;fill:url(#radialGradient988);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 7.99999;paint-order:stroke fill markers;filter:url(#filter978)"
|
||||
id="circle986"
|
||||
cx="-102.22681"
|
||||
cy="33.014359"
|
||||
r="36.50872"
|
||||
transform="matrix(-0.80533158,3.0055383,-3.0055383,-0.80533158,163.1273,460.36095)" />
|
||||
<circle
|
||||
style="mix-blend-mode:normal;fill:url(#radialGradient992);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 7.99999;paint-order:stroke fill markers;filter:url(#filter978)"
|
||||
id="circle990"
|
||||
cx="-102.22681"
|
||||
cy="33.014359"
|
||||
r="36.50872"
|
||||
transform="matrix(-2.4562477,-1.9101484,1.9101484,-2.4562477,-189.30339,20.919674)" />
|
||||
<circle
|
||||
style="mix-blend-mode:normal;fill:url(#radialGradient996);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4, 7.99999;paint-order:stroke fill markers;filter:url(#filter978)"
|
||||
id="circle994"
|
||||
cx="-102.22681"
|
||||
cy="33.014359"
|
||||
r="36.50872"
|
||||
transform="matrix(-2.6962828,1.5530224,-1.5530224,-2.6962828,-89.765778,394.04656)" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.0 KiB |
|
|
@ -0,0 +1,282 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://bvowj4l8dtceu"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="1_xrckx"]
|
||||
[ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/post-it.tscn" id="2_ucudl"]
|
||||
|
||||
[node name="board of devs" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="childhood" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="c_homework" parent="childhood" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 34.0
|
||||
offset_top = 31.0
|
||||
offset_right = 334.0
|
||||
offset_bottom = 251.0
|
||||
text = "I never put in much effort for homework "
|
||||
|
||||
[node name="p_good_grades" parent="childhood/c_homework" groups=["c_body", "c_boy_stuff", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 324.0
|
||||
offset_top = 16.0
|
||||
offset_right = 624.0
|
||||
offset_bottom = 116.0
|
||||
text = "but at least I get good grades."
|
||||
|
||||
[node name="p_upset_peers" parent="childhood/c_homework" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 327.0
|
||||
offset_top = 118.0
|
||||
offset_right = 627.0
|
||||
offset_bottom = 218.0
|
||||
text = "and my peers were upset about that."
|
||||
|
||||
[node name="c_teachers" parent="childhood" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 35.0
|
||||
offset_top = 261.0
|
||||
offset_right = 335.0
|
||||
offset_bottom = 481.0
|
||||
text = "I like my teachers more than my classmates "
|
||||
|
||||
[node name="p_volunteering" parent="childhood/c_teachers" groups=["c_Joy", "c_backlash", "c_boy_stuff"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 318.0
|
||||
offset_top = 13.0
|
||||
offset_right = 618.0
|
||||
offset_bottom = 113.0
|
||||
text = "doing voluntary social service at my school would be great."
|
||||
|
||||
[node name="p_becoming_teacher" parent="childhood/c_teachers" groups=["c_Joy", "c_backlash", "c_homework"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 321.0
|
||||
offset_top = 115.0
|
||||
offset_right = 621.0
|
||||
offset_bottom = 215.0
|
||||
text = "maybe I want to become a teacher."
|
||||
|
||||
[node name="c_Joy" parent="childhood" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 40.0
|
||||
offset_top = 489.0
|
||||
offset_right = 340.0
|
||||
offset_bottom = 709.0
|
||||
text = "I can put ages into things I enjoy "
|
||||
|
||||
[node name="p_worried_mother" parent="childhood/c_Joy" groups=["c_body", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 320.0
|
||||
offset_top = 7.0
|
||||
offset_right = 620.0
|
||||
offset_bottom = 107.0
|
||||
text = "my mother would be worried about that"
|
||||
|
||||
[node name="p_thomas" parent="childhood/c_Joy" groups=["c_backlash", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 323.0
|
||||
offset_top = 109.0
|
||||
offset_right = 623.0
|
||||
offset_bottom = 209.0
|
||||
text = "Mr Thomas thinks that makes me gifted."
|
||||
|
||||
[node name="voice_training" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="c_comic_heroes" parent="voice_training" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 685.0
|
||||
offset_top = 26.0
|
||||
offset_right = 985.0
|
||||
offset_bottom = 246.0
|
||||
text = "Comic heroes are my role models "
|
||||
|
||||
[node name="p_effort" parent="voice_training/c_comic_heroes" groups=["c_Joy", "c_hit", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 324.0
|
||||
offset_top = 16.0
|
||||
offset_right = 624.0
|
||||
offset_bottom = 116.0
|
||||
text = "when I put in the effort, I can make the world a better place"
|
||||
|
||||
[node name="p_upset_peers" parent="voice_training/c_comic_heroes" groups=["c_Joy", "c_body", "c_boy_stuff", "c_hit"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 327.0
|
||||
offset_top = 118.0
|
||||
offset_right = 627.0
|
||||
offset_bottom = 218.0
|
||||
text = "and I want to be like agent q!"
|
||||
|
||||
[node name="c_boy_stuff" parent="voice_training" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 691.0
|
||||
offset_top = 270.0
|
||||
offset_right = 991.0
|
||||
offset_bottom = 490.0
|
||||
text = "I like boy stuff "
|
||||
|
||||
[node name="p_slut" parent="voice_training/c_boy_stuff" groups=["c_Joy", "c_body", "c_hit", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 318.0
|
||||
offset_top = 13.0
|
||||
offset_right = 618.0
|
||||
offset_bottom = 113.0
|
||||
text = "others think I only pretend to."
|
||||
|
||||
[node name="p_girls" parent="voice_training/c_boy_stuff" groups=["c_Joy", "c_body", "c_comic_heroes", "c_hit", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 321.0
|
||||
offset_top = 115.0
|
||||
offset_right = 621.0
|
||||
offset_bottom = 215.0
|
||||
text = "and girls don't get that."
|
||||
|
||||
[node name="c_backlash" parent="voice_training" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 691.0
|
||||
offset_top = 493.0
|
||||
offset_right = 991.0
|
||||
offset_bottom = 713.0
|
||||
text = "Despite the backlash, I protected Joyo in front of class "
|
||||
|
||||
[node name="p_cross_friend" parent="voice_training/c_backlash" groups=["c_Joy", "c_boy_stuff", "c_comic_heroes", "c_hit"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 320.0
|
||||
offset_top = 7.0
|
||||
offset_right = 620.0
|
||||
offset_bottom = 107.0
|
||||
text = "I would never cross a friend, even if it was for my own good."
|
||||
|
||||
[node name="p_reward" parent="voice_training/c_backlash" groups=["c_Joy"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 323.0
|
||||
offset_top = 109.0
|
||||
offset_right = 623.0
|
||||
offset_bottom = 209.0
|
||||
text = "those who put in the effort should be rewarded."
|
||||
|
||||
[node name="juijutsu" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="c_body" parent="juijutsu" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1332.0
|
||||
offset_top = 34.0
|
||||
offset_right = 1632.0
|
||||
offset_bottom = 254.0
|
||||
text = "my body makes me uncomfortable "
|
||||
|
||||
[node name="p_boobs" parent="juijutsu/c_body" groups=["c_boy_stuff"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 324.0
|
||||
offset_top = 16.0
|
||||
offset_right = 624.0
|
||||
offset_bottom = 116.0
|
||||
text = "boobs are just not made for fighting."
|
||||
|
||||
[node name="p_fat" parent="juijutsu/c_body" instance=ExtResource("2_ucudl")]
|
||||
offset_left = 327.0
|
||||
offset_top = 118.0
|
||||
offset_right = 627.0
|
||||
offset_bottom = 218.0
|
||||
text = "I despise all the fat on my hips."
|
||||
|
||||
[node name="c_hit" parent="juijutsu" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1338.0
|
||||
offset_top = 278.0
|
||||
offset_right = 1638.0
|
||||
offset_bottom = 498.0
|
||||
text = "I know how to properly hit people "
|
||||
|
||||
[node name="p_confidence" parent="juijutsu/c_hit" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 318.0
|
||||
offset_top = 13.0
|
||||
offset_right = 618.0
|
||||
offset_bottom = 113.0
|
||||
text = "..., that gives me a lot of confidence."
|
||||
|
||||
[node name="p_vent" parent="juijutsu/c_hit" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 321.0
|
||||
offset_top = 115.0
|
||||
offset_right = 621.0
|
||||
offset_bottom = 215.0
|
||||
text = "and that’s a great vent."
|
||||
|
||||
[node name="c_void" parent="juijutsu" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1338.0
|
||||
offset_top = 501.0
|
||||
offset_right = 1638.0
|
||||
offset_bottom = 721.0
|
||||
|
||||
[node name="p_wet" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 320.0
|
||||
offset_top = 7.0
|
||||
offset_right = 620.0
|
||||
offset_bottom = 107.0
|
||||
text = "… I was wet, so I must have been into it."
|
||||
|
||||
[node name="p_stop" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 323.0
|
||||
offset_top = 109.0
|
||||
offset_right = 623.0
|
||||
offset_bottom = 209.0
|
||||
text = "… I didn’t say stop."
|
||||
|
||||
[node name="test" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_left = 730.0
|
||||
offset_top = -3.0
|
||||
offset_right = 770.0
|
||||
offset_bottom = 37.0
|
||||
|
||||
[node name="c_random1" parent="test" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1332.0
|
||||
offset_top = 34.0
|
||||
offset_right = 1632.0
|
||||
offset_bottom = 254.0
|
||||
|
||||
[node name="p_random11" parent="test/c_random1" groups=["c_boy_stuff"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 324.0
|
||||
offset_top = 16.0
|
||||
offset_right = 624.0
|
||||
offset_bottom = 116.0
|
||||
text = "random 1"
|
||||
|
||||
[node name="p_random12" parent="test/c_random1" instance=ExtResource("2_ucudl")]
|
||||
offset_left = 327.0
|
||||
offset_top = 118.0
|
||||
offset_right = 627.0
|
||||
offset_bottom = 218.0
|
||||
text = "random 1"
|
||||
|
||||
[node name="c_pick" parent="test" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1338.0
|
||||
offset_top = 278.0
|
||||
offset_right = 1638.0
|
||||
offset_bottom = 498.0
|
||||
|
||||
[node name="p_pick" parent="test/c_pick" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 318.0
|
||||
offset_top = 13.0
|
||||
offset_right = 618.0
|
||||
offset_bottom = 113.0
|
||||
text = "pick me 2"
|
||||
|
||||
[node name="p_goof" parent="test/c_pick" groups=["c_Joy", "c_backlash", "c_boy_stuff", "c_comic_heroes", "c_homework", "c_teachers"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 321.0
|
||||
offset_top = 115.0
|
||||
offset_right = 621.0
|
||||
offset_bottom = 215.0
|
||||
text = "you done goofed"
|
||||
|
||||
[node name="c_random2" parent="test" instance=ExtResource("1_xrckx")]
|
||||
offset_left = 1338.0
|
||||
offset_top = 501.0
|
||||
offset_right = 1638.0
|
||||
offset_bottom = 721.0
|
||||
|
||||
[node name="p_random21" parent="test/c_random2" groups=["c_void"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 320.0
|
||||
offset_top = 7.0
|
||||
offset_right = 620.0
|
||||
offset_bottom = 107.0
|
||||
text = "random 2"
|
||||
|
||||
[node name="p_random22" parent="test/c_random2" groups=["c_void"] instance=ExtResource("2_ucudl")]
|
||||
offset_left = 323.0
|
||||
offset_top = 109.0
|
||||
offset_right = 623.0
|
||||
offset_bottom = 209.0
|
||||
text = "random 2"
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
extends CenterContainer
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
$cards/card_1/AnimationPlayer.play("select")
|
||||
await $cards/card_1/AnimationPlayer.animation_finished
|
||||
$cards/card_1/AnimationPlayer.play("deselect")
|
||||
$cards/card_2/AnimationPlayer.play("select")
|
||||
await $cards/card_1/AnimationPlayer.animation_finished
|
||||
$cards/card_2/AnimationPlayer.play("deselect")
|
||||
$cards/card_3/AnimationPlayer.play("select")
|
||||
await $cards/card_2/AnimationPlayer.animation_finished
|
||||
$cards/card_3/AnimationPlayer.play("deselect")
|
||||
await $cards/card_3/AnimationPlayer.animation_finished
|
||||
$cards/card_1/AnimationPlayer.play("select")
|
||||
await $cards/card_1/AnimationPlayer.animation_finished
|
||||
$cards/card_1/AnimationPlayer.play("take")
|
||||
$cards/card_2/AnimationPlayer.play("unshuffle")
|
||||
$cards/card_3/AnimationPlayer.play("shuffle")
|
||||
await $cards/card_3/AnimationPlayer.animation_finished
|
||||
|
||||
for card in $cards.get_children():
|
||||
card.get_child(1).play("RESET")
|
||||
|
||||
$cards/card_2/AnimationPlayer.queue("select")
|
||||
await $cards/card_2/AnimationPlayer.animation_finished
|
||||
$cards/card_2/AnimationPlayer.play("take")
|
||||
$cards/card_3/AnimationPlayer.play("unshuffle")
|
||||
$cards/card_1/AnimationPlayer.play("shuffle")
|
||||
await $cards/card_1/AnimationPlayer.animation_finished
|
||||
|
||||
for card in $cards.get_children():
|
||||
card.get_child(1).play("RESET")
|
||||
|
||||
$cards/card_3/AnimationPlayer.queue("select")
|
||||
await $cards/card_3/AnimationPlayer.animation_finished
|
||||
$cards/card_3/AnimationPlayer.play("take")
|
||||
$cards/card_1/AnimationPlayer.play("unshuffle")
|
||||
$cards/card_2/AnimationPlayer.play("shuffle")
|
||||
await $cards/card_2/AnimationPlayer.animation_finished
|
||||
|
||||
$postIts.show()
|
||||
|
||||
for card in $postIts.get_children():
|
||||
card.get_child(1).play("post")
|
||||
|
||||
await $postIts/postIt_1/AnimationPlayer.animation_finished
|
||||
|
||||
$postIts/postIt_1/AnimationPlayer.play("select")
|
||||
await $postIts/postIt_1/AnimationPlayer.animation_finished
|
||||
$postIts/postIt_1/AnimationPlayer.play("deselect")
|
||||
$postIts/postIt_2/AnimationPlayer.play("select")
|
||||
await $postIts/postIt_2/AnimationPlayer.animation_finished
|
||||
$postIts/postIt_2/AnimationPlayer.play("deselect")
|
||||
$postIts/postIt_3/AnimationPlayer.play("select")
|
||||
await $postIts/postIt_3/AnimationPlayer.animation_finished
|
||||
$postIts/postIt_3/AnimationPlayer.play("deselect")
|
||||
$postIts/postIt_4/AnimationPlayer.play("select")
|
||||
await $postIts/postIt_4/AnimationPlayer.animation_finished
|
||||
$postIts/postIt_4/AnimationPlayer.play("deselect")
|
||||
$postIts/postIt_1/AnimationPlayer.play("select")
|
||||
await get_tree().create_timer(1).timeout
|
||||
$postIts/postIt_1/AnimationPlayer.play("pick")
|
||||
$postIts/postIt_2/AnimationPlayer.play("shuffle")
|
||||
$postIts/postIt_3/AnimationPlayer.play("unshuffle")
|
||||
$postIts/postIt_4/AnimationPlayer.play("unshuffle")
|
||||
|
||||
await $postIts/postIt_2/AnimationPlayer.animation_finished
|
||||
|
||||
for card in $postIts.get_children():
|
||||
card.get_child(1).play("post")
|
||||
|
||||
await $postIts/postIt_1/AnimationPlayer.animation_finished
|
||||
|
||||
$postIts/postIt_2/AnimationPlayer.play("select")
|
||||
await get_tree().create_timer(1).timeout
|
||||
$postIts/postIt_2/AnimationPlayer.play("pick")
|
||||
$postIts/postIt_3/AnimationPlayer.play("shuffle")
|
||||
$postIts/postIt_4/AnimationPlayer.play("unshuffle")
|
||||
$postIts/postIt_1/AnimationPlayer.play("unshuffle")
|
||||
|
||||
await $postIts/postIt_3/AnimationPlayer.animation_finished
|
||||
|
||||
for card in $postIts.get_children():
|
||||
card.get_child(1).play("post")
|
||||
|
||||
await $postIts/postIt_1/AnimationPlayer.animation_finished
|
||||
|
||||
$postIts/postIt_3/AnimationPlayer.play("select")
|
||||
await get_tree().create_timer(1).timeout
|
||||
$postIts/postIt_3/AnimationPlayer.play("pick")
|
||||
$postIts/postIt_4/AnimationPlayer.play("shuffle")
|
||||
$postIts/postIt_1/AnimationPlayer.play("unshuffle")
|
||||
$postIts/postIt_2/AnimationPlayer.play("unshuffle")
|
||||
|
||||
await $postIts/postIt_4/AnimationPlayer.animation_finished
|
||||
|
||||
for card in $postIts.get_children():
|
||||
card.get_child(1).play("post")
|
||||
|
||||
await $postIts/postIt_1/AnimationPlayer.animation_finished
|
||||
|
||||
$postIts/postIt_4/AnimationPlayer.play("select")
|
||||
await get_tree().create_timer(1).timeout
|
||||
$postIts/postIt_4/AnimationPlayer.play("pick")
|
||||
$postIts/postIt_1/AnimationPlayer.play("shuffle")
|
||||
$postIts/postIt_2/AnimationPlayer.play("unshuffle")
|
||||
$postIts/postIt_3/AnimationPlayer.play("unshuffle")
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
extends Control
|
||||
|
||||
const dev_board_pre = preload("res://dev-util/board of devs.tscn")
|
||||
var dev_board: Control
|
||||
|
||||
func _ready():
|
||||
dev_board = dev_board_pre.instantiate()
|
||||
|
||||
if $cards.get_child_count(false) > 0:
|
||||
$cards.get_children(false)[0].grab_focus()
|
||||
|
||||
# Testing code
|
||||
for item in dev_board.find_children("*"):
|
||||
if item is Card:
|
||||
spawn_card((item as Card).duplicate())
|
||||
elif item is PostIt:
|
||||
spawn_postit((item as PostIt).duplicate())
|
||||
|
||||
func _process(delta: float):
|
||||
pass
|
||||
|
||||
func spawn_card(card: Card):
|
||||
$cards.add_child(card)
|
||||
|
||||
if $cards.get_child_count(false) == 1:
|
||||
$cards.get_children(false)[0].grab_focus()
|
||||
|
||||
populate_focus_neighbors()
|
||||
|
||||
func spawn_postit(postit: PostIt):
|
||||
$postits.add_child(postit)
|
||||
|
||||
populate_focus_neighbors()
|
||||
|
||||
func populate_focus_neighbors():
|
||||
# TODO reorder cards based on position
|
||||
|
||||
if $cards.get_child_count(false) <= 0:
|
||||
return
|
||||
|
||||
var first_card = $cards.get_children(false)[0]
|
||||
var first_postit = $postits.get_children(false)[0] if $postits.get_child_count(false) > 0 else first_card
|
||||
|
||||
var first_board_card = $mindmap.get_children(false)[0] if $mindmap.get_child_count(false) > 0 else first_card
|
||||
|
||||
var cards = $cards.get_children(false) as Array[Card]
|
||||
for i in cards.size():
|
||||
var card = cards[i]
|
||||
if card == first_card or not (card is Card):
|
||||
continue
|
||||
card.focus_neighbor_right = first_board_card # FIXME should be a valid focusable object, but it refuses
|
||||
card.focus_neighbor_left = first_postit
|
||||
card.focus_neighbor_up = cards[(i - 1) % cards.size()]
|
||||
card.focus_neighbor_down = cards[(i + 1) % cards.size()]
|
||||
|
||||
var postits = $postits.get_children(false) as Array[PostIt]
|
||||
for i in postits.size():
|
||||
var postit = postits[i]
|
||||
if not (postit is PostIt):
|
||||
continue
|
||||
postit.focus_neighbor_right = first_card
|
||||
postit.focus_neighbor_left = first_board_card
|
||||
postit.focus_neighbor_up = postits[(i - 1) % postits.size()]
|
||||
postit.focus_neighbor_down = postits[(i + 1) % postits.size()]
|
||||
|
||||
var board_items = $mindmap.get_children(false) as Array
|
||||
for i in board_items.size():
|
||||
var board_item = board_items[i]
|
||||
board_item.focus_neighbor_right = first_postit
|
||||
board_item.focus_neighbor_left = first_card
|
||||
board_item.focus_neighbor_up = board_items[(i - 1) % board_items.size()]
|
||||
board_item.focus_neighbor_down = board_items[(i + 1) % board_items.size()]
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://bpk4hhck7xb8a"]
|
||||
|
||||
[ext_resource type="Script" path="res://logic-scenes/board/board.gd" id="1_0rxlw"]
|
||||
|
||||
[node name="board" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_0rxlw")
|
||||
|
||||
[node name="mindmap" type="Panel" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="cards" type="Panel" parent="."]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 9
|
||||
anchor_bottom = 1.0
|
||||
offset_right = 30.0
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="postits" type="Panel" parent="."]
|
||||
custom_minimum_size = Vector2(100, 0)
|
||||
layout_mode = 1
|
||||
anchors_preset = 11
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 2
|
||||
|
After Width: | Height: | Size: 1.7 MiB |
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://sv0nhkkur1tt"
|
||||
path="res://.godot/imported/cardsheet.png-aa9a1276947e1ea9c07388cd560d5919.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://logic-scenes/board/card-textures/cardsheet.png"
|
||||
dest_files=["res://.godot/imported/cardsheet.png-aa9a1276947e1ea9c07388cd560d5919.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
|
||||
|
After Width: | Height: | Size: 731 KiB |
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c8ckkjmdegyis"
|
||||
path="res://.godot/imported/postitsheet.png-a6afe1969b145c3d0f8e274a0a6fb36e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://logic-scenes/board/card-textures/postitsheet.png"
|
||||
dest_files=["res://.godot/imported/postitsheet.png-a6afe1969b145c3d0f8e274a0a6fb36e.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
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
@tool
|
||||
|
||||
extends Control
|
||||
class_name Card
|
||||
var compatible_postits: Array[PostIt] = []
|
||||
var own_postits: Array[PostIt] = []
|
||||
|
||||
@export var text: String = "" :
|
||||
set (value):
|
||||
text = value
|
||||
if is_inside_tree() or Engine.is_editor_hint():
|
||||
$Label.text = value
|
||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
if is_inside_tree():
|
||||
$BackgroundSprite.void_active = value == ""
|
||||
@export var voice_line: AudioStream = null
|
||||
|
||||
func _ready():
|
||||
if not Engine.is_editor_hint() and is_inside_tree():
|
||||
for postit in self.get_children():
|
||||
if postit is PostIt: self.own_postits.append(postit as PostIt)
|
||||
|
||||
for postit in get_tree().get_nodes_in_group(name):
|
||||
if postit is PostIt: self.compatible_postits.append(postit as PostIt)
|
||||
|
||||
compatible_postits.append_array(own_postits)
|
||||
|
||||
if own_postits.size() == 2:
|
||||
own_postits[0].sibling = own_postits[1]
|
||||
own_postits[1].sibling = own_postits[0]
|
||||
|
||||
$BackgroundSprite.frame = randi() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
$Label.text = self.text
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func replace_with(card: Card):
|
||||
self.text = card.text
|
||||
self.compatible_postits = card.compatible_postits
|
||||
self.own_postits = card.own_postits
|
||||
self.voice_line = card.voice_line
|
||||
|
||||
func _on_focus_entered():
|
||||
print(self, "is focused")
|
||||
|
||||
func _on_focus_exited():
|
||||
print(self, "is not focused")
|
||||
|
|
@ -0,0 +1,206 @@
|
|||
[gd_scene load_steps=20 format=3 uid="uid://dy5rd437h5hsw"]
|
||||
|
||||
[ext_resource type="Script" path="res://logic-scenes/board/card.gd" id="1_emip0"]
|
||||
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="2_ioijn"]
|
||||
[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="3_bwtbh"]
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/messy.theme" id="3_rktsa"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="4_fwm1k"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"]
|
||||
atlas = ExtResource("2_ioijn")
|
||||
region = Rect2(0, 0, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"]
|
||||
atlas = ExtResource("2_ioijn")
|
||||
region = Rect2(600, 0, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"]
|
||||
atlas = ExtResource("2_ioijn")
|
||||
region = Rect2(0, 440, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"]
|
||||
atlas = ExtResource("2_ioijn")
|
||||
region = Rect2(600, 440, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"]
|
||||
atlas = ExtResource("2_ioijn")
|
||||
region = Rect2(0, 880, 600, 440)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ckivt"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ykk13")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l43eo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_x2vcn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e7401")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j7wh6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_8bs16"]
|
||||
script/source = "extends AnimatedSprite2D
|
||||
|
||||
@onready var particles = $GPUParticles2D
|
||||
@onready var initial_position = position
|
||||
var noise_position = randf()
|
||||
var noise: Noise = FastNoiseLite.new()
|
||||
var void_active:
|
||||
set(become_void):
|
||||
if not (void_active == become_void):
|
||||
if is_inside_tree():
|
||||
$GPUParticles2D.is_void = become_void
|
||||
$GPUParticles2D.emitting = become_void
|
||||
$Sprite2D.is_void = become_void
|
||||
void_active = become_void
|
||||
|
||||
func _process(delta):
|
||||
if void_active and not State.reduce_motion:
|
||||
noise_position += delta * 10
|
||||
|
||||
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
|
||||
|
||||
random_position = random_position.normalized() * pow(random_position.length()*2, 3) * 5
|
||||
|
||||
position = initial_position - random_position
|
||||
|
||||
rotation = noise.get_noise_1d(noise_position*10) * random_position.length() * 0.01
|
||||
|
||||
particles.position = random_position
|
||||
|
||||
else: position = initial_position
|
||||
"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_v70nd"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"]
|
||||
gradient = SubResource("Gradient_v70nd")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_q6cmf"]
|
||||
_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"]
|
||||
curve = SubResource("Curve_q6cmf")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_by44l"]
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, 0, 1)
|
||||
emission_ring_height = 0.0
|
||||
emission_ring_radius = 180.0
|
||||
emission_ring_inner_radius = 185.0
|
||||
particle_flag_disable_z = true
|
||||
spread = 180.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
initial_velocity_min = -10.0
|
||||
initial_velocity_max = 10.0
|
||||
angular_velocity_min = -150.0
|
||||
angular_velocity_max = -150.0
|
||||
orbit_velocity_min = 0.0
|
||||
orbit_velocity_max = 0.0
|
||||
radial_accel_min = -20.0
|
||||
radial_accel_max = -5.0
|
||||
tangential_accel_min = 20.0
|
||||
tangential_accel_max = 30.0
|
||||
scale_min = 3.0
|
||||
scale_max = 5.0
|
||||
scale_curve = SubResource("CurveTexture_cg0w1")
|
||||
color_ramp = SubResource("GradientTexture1D_xxq8p")
|
||||
turbulence_noise_strength = 0.1
|
||||
attractor_interaction_enabled = false
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_vjwk7"]
|
||||
script/source = "extends GPUParticles2D
|
||||
|
||||
var is_void:bool = false
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = !State.reduce_motion and is_void
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_tgc0b"]
|
||||
script/source = "extends Sprite2D
|
||||
|
||||
var is_void:bool = false
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = State.reduce_motion and is_void
|
||||
"
|
||||
|
||||
[node name="card" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = -150.0
|
||||
offset_top = -110.0
|
||||
offset_right = 150.0
|
||||
offset_bottom = 110.0
|
||||
focus_mode = 2
|
||||
script = ExtResource("1_emip0")
|
||||
|
||||
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="."]
|
||||
clip_children = 2
|
||||
position = Vector2(150, 110)
|
||||
scale = Vector2(0.6, 0.6)
|
||||
sprite_frames = SubResource("SpriteFrames_ckivt")
|
||||
frame = 3
|
||||
script = SubResource("GDScript_8bs16")
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="BackgroundSprite"]
|
||||
visible = false
|
||||
amount = 500
|
||||
process_material = SubResource("ParticleProcessMaterial_by44l")
|
||||
texture = ExtResource("3_bwtbh")
|
||||
lifetime = 2.5
|
||||
speed_scale = 1.3
|
||||
explosiveness = 0.2
|
||||
randomness = 0.14
|
||||
local_coords = true
|
||||
script = SubResource("GDScript_vjwk7")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="BackgroundSprite"]
|
||||
visible = false
|
||||
scale = Vector2(0.4, 0.4)
|
||||
texture = ExtResource("4_fwm1k")
|
||||
script = SubResource("GDScript_tgc0b")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -127.0
|
||||
offset_top = -82.5
|
||||
offset_right = 127.0
|
||||
offset_bottom = 82.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("3_rktsa")
|
||||
theme_type_variation = &"card_text"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="postit anchor" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_left = 100.0
|
||||
offset_top = 148.0
|
||||
offset_right = 140.0
|
||||
offset_bottom = 188.0
|
||||
|
||||
[connection signal="focus_entered" from="." to="." method="_on_focus_entered"]
|
||||
[connection signal="focus_exited" from="." to="." method="_on_focus_exited"]
|
||||
[connection signal="focus_entered" from="postit anchor" to="." method="_on_postit_anchor_focus_entered"]
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://kpmk21d8rlso"
|
||||
path="res://.godot/imported/star.png-cb025d5aa45574fdb1b3cdd678fdbecd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://logic-scenes/board/particle_textures/star.png"
|
||||
dest_files=["res://.godot/imported/star.png-cb025d5aa45574fdb1b3cdd678fdbecd.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
|
||||
|
After Width: | Height: | Size: 151 KiB |
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqilajx05t0eb"
|
||||
path="res://.godot/imported/void_nomotion.png-feea4a00de7607ab1e264c944eff6917.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://logic-scenes/board/particle_textures/void_nomotion.png"
|
||||
dest_files=["res://.godot/imported/void_nomotion.png-feea4a00de7607ab1e264c944eff6917.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
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
@tool
|
||||
|
||||
extends Control
|
||||
class_name PostIt
|
||||
var sibling
|
||||
|
||||
@export var text: String = "" :
|
||||
set (value):
|
||||
if is_inside_tree() or Engine.is_editor_hint():
|
||||
$Label.text = value
|
||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
text = value
|
||||
@export var voice_line: AudioStream = null
|
||||
|
||||
func _ready() -> void:
|
||||
$Label.text = self.text
|
||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
|
||||
func replace_with(postit: PostIt):
|
||||
self.text = postit.text
|
||||
self.voice_line = postit.voice_line
|
||||
self.sibling = postit.sibling
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _on_focus_entered():
|
||||
print(self, "is focused")
|
||||
|
||||
func _on_focus_exited():
|
||||
print(self, "is not focused")
|
||||
|
|
@ -0,0 +1,134 @@
|
|||
[gd_scene load_steps=17 format=3 uid="uid://vkcdj8c3ytbq"]
|
||||
|
||||
[ext_resource type="Script" path="res://logic-scenes/board/post-it.gd" id="1_yvh5n"]
|
||||
[ext_resource type="Texture2D" uid="uid://c8ckkjmdegyis" path="res://logic-scenes/board/card-textures/postitsheet.png" id="2_j17jn"]
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/messy.theme" id="3_hu2as"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nj16s"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_23tiq"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aomh0"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n3svg"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tfg7a"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dtics"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e0ocs"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bpwg2"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xaxol"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ifitb"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6slhe"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4tk5m"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 440, 500, 220)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_2amsi"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nj16s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_23tiq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aomh0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n3svg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tfg7a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtics")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e0ocs")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bpwg2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xaxol")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ifitb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6slhe")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4tk5m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="post-it" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = -150.0
|
||||
offset_top = -50.0
|
||||
offset_right = 150.0
|
||||
offset_bottom = 50.0
|
||||
focus_mode = 2
|
||||
script = ExtResource("1_yvh5n")
|
||||
|
||||
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(150, 50)
|
||||
scale = Vector2(0.65, 0.65)
|
||||
sprite_frames = SubResource("SpriteFrames_2amsi")
|
||||
frame = 5
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -139.5
|
||||
offset_top = -50.0
|
||||
offset_right = 137.5
|
||||
offset_bottom = 47.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("3_hu2as")
|
||||
theme_type_variation = &"card_text"
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
||||
[connection signal="focus_entered" from="." to="." method="_on_focus_entered"]
|
||||
[connection signal="focus_exited" from="." to="." method="_on_focus_exited"]
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
[gd_resource type="VisualShader" load_steps=2 format=3 uid="uid://bwjioe14xggin"]
|
||||
|
||||
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_i5j4e"]
|
||||
output_port_for_preview = 0
|
||||
input_name = "color"
|
||||
|
||||
[resource]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
|
||||
|
||||
void fragment() {
|
||||
// Input:2
|
||||
vec4 n_out2p0 = COLOR;
|
||||
|
||||
|
||||
// Output:0
|
||||
COLOR.rgb = vec3(n_out2p0.xyz);
|
||||
|
||||
|
||||
}
|
||||
"
|
||||
graph_offset = Vector2(-496.091, 53.946)
|
||||
mode = 1
|
||||
flags/light_only = false
|
||||
nodes/fragment/2/node = SubResource("VisualShaderNodeInput_i5j4e")
|
||||
nodes/fragment/2/position = Vector2(-60, 180)
|
||||
nodes/fragment/connections = PackedInt32Array(2, 0, 0, 0)
|
||||
|
|
@ -0,0 +1,203 @@
|
|||
[gd_scene load_steps=20 format=3 uid="uid://dp4eps03igd3w"]
|
||||
|
||||
[ext_resource type="Script" path="res://logic-scenes/board/card.gd" id="1_6ceun"]
|
||||
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="2_buevv"]
|
||||
[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="3_8wu8j"]
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/messy.theme" id="3_mi4ah"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="4_jam8u"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ykk13"]
|
||||
atlas = ExtResource("2_buevv")
|
||||
region = Rect2(0, 0, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l43eo"]
|
||||
atlas = ExtResource("2_buevv")
|
||||
region = Rect2(600, 0, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_x2vcn"]
|
||||
atlas = ExtResource("2_buevv")
|
||||
region = Rect2(0, 440, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e7401"]
|
||||
atlas = ExtResource("2_buevv")
|
||||
region = Rect2(600, 440, 600, 440)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j7wh6"]
|
||||
atlas = ExtResource("2_buevv")
|
||||
region = Rect2(0, 880, 600, 440)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ckivt"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ykk13")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l43eo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_x2vcn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e7401")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j7wh6")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_8bs16"]
|
||||
script/source = "extends AnimatedSprite2D
|
||||
|
||||
@onready var particles = $GPUParticles2D
|
||||
@onready var initial_position = position
|
||||
var noise_position = randf()
|
||||
var noise: Noise = FastNoiseLite.new()
|
||||
var void_active:
|
||||
set(become_void):
|
||||
if not (void_active == become_void):
|
||||
if is_inside_tree():
|
||||
$GPUParticles2D.is_void = become_void
|
||||
$GPUParticles2D.emitting = become_void
|
||||
$Sprite2D.is_void = become_void
|
||||
void_active = become_void
|
||||
|
||||
func _process(delta):
|
||||
if void_active and not State.reduce_motion:
|
||||
noise_position += delta * 10
|
||||
|
||||
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
|
||||
|
||||
random_position = random_position.normalized() * pow(random_position.length()*2, 3) * 5
|
||||
|
||||
position = initial_position - random_position
|
||||
|
||||
rotation = noise.get_noise_1d(noise_position*10) * random_position.length() * 0.01
|
||||
|
||||
particles.position = random_position
|
||||
|
||||
else: position = initial_position
|
||||
"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_v70nd"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0.491329, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_xxq8p"]
|
||||
gradient = SubResource("Gradient_v70nd")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_q6cmf"]
|
||||
_data = [Vector2(0, 0), 0.0, 3.16529, 0, 0, Vector2(0.241056, 0.191336), 0.132446, 0.132446, 0, 0, Vector2(1, 1), 3.94797, 0.0, 0, 0]
|
||||
point_count = 3
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_cg0w1"]
|
||||
curve = SubResource("Curve_q6cmf")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_by44l"]
|
||||
emission_shape = 6
|
||||
emission_ring_axis = Vector3(0, 0, 1)
|
||||
emission_ring_height = 0.0
|
||||
emission_ring_radius = 180.0
|
||||
emission_ring_inner_radius = 185.0
|
||||
particle_flag_disable_z = true
|
||||
spread = 180.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
initial_velocity_min = -10.0
|
||||
initial_velocity_max = 10.0
|
||||
angular_velocity_min = -150.0
|
||||
angular_velocity_max = -150.0
|
||||
orbit_velocity_min = 0.0
|
||||
orbit_velocity_max = 0.0
|
||||
radial_accel_min = -20.0
|
||||
radial_accel_max = -5.0
|
||||
tangential_accel_min = 20.0
|
||||
tangential_accel_max = 30.0
|
||||
scale_min = 1.5
|
||||
scale_max = 3.0
|
||||
scale_curve = SubResource("CurveTexture_cg0w1")
|
||||
color_ramp = SubResource("GradientTexture1D_xxq8p")
|
||||
turbulence_noise_strength = 0.1
|
||||
attractor_interaction_enabled = false
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_vjwk7"]
|
||||
script/source = "extends GPUParticles2D
|
||||
|
||||
var is_void:bool = false
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = !State.reduce_motion and is_void
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_tgc0b"]
|
||||
script/source = "extends Sprite2D
|
||||
|
||||
var is_void:bool = false
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = State.reduce_motion and is_void
|
||||
"
|
||||
|
||||
[node name="card" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_left = -150.0
|
||||
offset_top = -110.0
|
||||
offset_right = 150.0
|
||||
offset_bottom = 110.0
|
||||
focus_mode = 2
|
||||
script = ExtResource("1_6ceun")
|
||||
|
||||
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="."]
|
||||
clip_children = 2
|
||||
position = Vector2(150, 110)
|
||||
scale = Vector2(0.6, 0.6)
|
||||
sprite_frames = SubResource("SpriteFrames_ckivt")
|
||||
script = SubResource("GDScript_8bs16")
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="BackgroundSprite"]
|
||||
amount = 500
|
||||
process_material = SubResource("ParticleProcessMaterial_by44l")
|
||||
texture = ExtResource("3_8wu8j")
|
||||
lifetime = 2.5
|
||||
speed_scale = 1.3
|
||||
explosiveness = 0.2
|
||||
randomness = 0.14
|
||||
script = SubResource("GDScript_vjwk7")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="BackgroundSprite"]
|
||||
visible = false
|
||||
scale = Vector2(0.4, 0.4)
|
||||
texture = ExtResource("4_jam8u")
|
||||
script = SubResource("GDScript_tgc0b")
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -127.0
|
||||
offset_top = -82.5
|
||||
offset_right = 127.0
|
||||
offset_bottom = 82.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("3_mi4ah")
|
||||
theme_type_variation = &"card_text"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="postit anchor" type="Control" parent="."]
|
||||
anchors_preset = 0
|
||||
offset_left = 100.0
|
||||
offset_top = 148.0
|
||||
offset_right = 140.0
|
||||
offset_bottom = 188.0
|
||||
|
||||
[connection signal="focus_entered" from="." to="." method="_on_focus_entered"]
|
||||
[connection signal="focus_exited" from="." to="." method="_on_focus_exited"]
|
||||
[connection signal="focus_entered" from="postit anchor" to="." method="_on_postit_anchor_focus_entered"]
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
extends CenterContainer
|
||||
|
||||
enum {
|
||||
INI,
|
||||
CARDS,
|
||||
TRANSITION,
|
||||
POSTS,
|
||||
DONE
|
||||
}
|
||||
|
||||
@onready var debug_board:Control = $"board of devs"
|
||||
|
||||
var selection_state
|
||||
|
||||
var anim_players:Array
|
||||
var curr_selection_id: int = -1:
|
||||
set(new_id):
|
||||
if selection_state == CARDS or selection_state == POSTS:
|
||||
if not curr_selection_id == -1: anim_players[curr_selection_id].play("deselect")
|
||||
|
||||
if new_id > options.size() -1: curr_selection_id = 0
|
||||
elif new_id < 0: curr_selection_id = options.size() - 1
|
||||
else: curr_selection_id = new_id
|
||||
|
||||
anim_players[curr_selection_id].play("select")
|
||||
else:
|
||||
curr_selection_id = new_id
|
||||
|
||||
print(curr_selection_id)
|
||||
|
||||
var output:Array
|
||||
var options:Array
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
var card_controls = $cards.get_children()
|
||||
for control in card_controls:
|
||||
options.append(control.get_child(1))
|
||||
anim_players.append(control.get_child(0))
|
||||
selection_state = CARDS
|
||||
|
||||
fill_card_slots()
|
||||
|
||||
func fill_card_slots():
|
||||
for i in range($cards.get_child_count()):
|
||||
var card:Card = $cards.get_child(i).get_child(1)
|
||||
card.replace_with(debug_board.get_child(2).get_child(i) as Card)
|
||||
|
||||
func fill_post_slots():
|
||||
var post_its: Array[PostIt] = []
|
||||
for card in output:
|
||||
post_its.append_array(card.own_postits)
|
||||
print(card.own_postits)
|
||||
|
||||
for i in range(post_its.size()):
|
||||
options[i].replace_with(post_its[i])
|
||||
|
||||
func _unhandled_input(event):
|
||||
if event.is_action_pressed("ui_up") or event.is_action_pressed("ui_left") or event.is_action_pressed("ui_focus_next"):
|
||||
curr_selection_id -= 1
|
||||
elif event.is_action_pressed("ui_down") or event.is_action_pressed("ui_right") or event.is_action_pressed("ui_focus_prev"):
|
||||
curr_selection_id += 1
|
||||
if event.is_action_pressed("ui_accept"):
|
||||
pick(curr_selection_id)
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
|
||||
func pick(id: int):
|
||||
print("meep")
|
||||
if id == -1:
|
||||
curr_selection_id = 0
|
||||
return
|
||||
anim_players[id].play("pick")
|
||||
var yield_to = anim_players[id].animation_finished
|
||||
output.append(options[id])
|
||||
|
||||
var sibling_id = -1
|
||||
if selection_state == POSTS:
|
||||
|
||||
sibling_id = options.find(options[id].sibling)
|
||||
|
||||
print("yeet sibling ", sibling_id)
|
||||
|
||||
options.remove_at(id)
|
||||
anim_players.remove_at(id)
|
||||
|
||||
randomize()
|
||||
var winning_id = randi() % options.size()
|
||||
|
||||
print("Winning ID ", id)
|
||||
|
||||
if winning_id == sibling_id:
|
||||
winning_id = (winning_id + 1) % options.size()
|
||||
|
||||
output.append(options.pop_at(winning_id))
|
||||
anim_players.pop_at(winning_id).play("shuffle")
|
||||
|
||||
for anim in anim_players:
|
||||
anim.play("unshuffle")
|
||||
|
||||
await yield_to
|
||||
|
||||
if selection_state == CARDS:
|
||||
selection_state = TRANSITION
|
||||
options = []
|
||||
anim_players = []
|
||||
for control in $postIts.get_children():
|
||||
options.append(control.get_child(1))
|
||||
anim_players.append(control.get_child(0))
|
||||
control.get_child(0).play("post")
|
||||
curr_selection_id = -1
|
||||
|
||||
fill_post_slots()
|
||||
|
||||
await anim_players[0].animation_finished
|
||||
selection_state = POSTS
|
||||
|
|
@ -32,6 +32,10 @@ window/stretch/mode="canvas_items"
|
|||
window/stretch/aspect="expand"
|
||||
mouse_cursor/custom_image="res://import/interface-elements/cursor.png"
|
||||
|
||||
[gui]
|
||||
|
||||
theme/custom="res://logic-scenes/themes/messy.theme"
|
||||
|
||||
[input]
|
||||
|
||||
player_right={
|
||||
|
|
|
|||