Compare commits
7 commits
0466f6298c
...
4bce0a3ecf
Author | SHA1 | Date | |
---|---|---|---|
![]() |
4bce0a3ecf | ||
![]() |
fc8f6ec2fc | ||
![]() |
d3d63402b8 | ||
29c30a10de | |||
![]() |
9d43b070af | ||
![]() |
033718351e | ||
![]() |
9b890c6bd2 |
18 changed files with 665 additions and 103 deletions
Binary file not shown.
|
@ -1,34 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="font_data_dynamic"
|
|
||||||
type="FontFile"
|
|
||||||
uid="uid://b1m5vkvhmf1x8"
|
|
||||||
path="res://.godot/imported/Winds 7.ttf-d65fb42952f9ffdf099366b21f03c274.fontdata"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Winds 7.ttf"
|
|
||||||
dest_files=["res://.godot/imported/Winds 7.ttf-d65fb42952f9ffdf099366b21f03c274.fontdata"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
Rendering=null
|
|
||||||
antialiasing=1
|
|
||||||
generate_mipmaps=false
|
|
||||||
disable_embedded_bitmaps=true
|
|
||||||
multichannel_signed_distance_field=false
|
|
||||||
msdf_pixel_range=8
|
|
||||||
msdf_size=48
|
|
||||||
allow_system_fallback=true
|
|
||||||
force_autohinter=false
|
|
||||||
hinting=1
|
|
||||||
subpixel_positioning=1
|
|
||||||
oversampling=0.0
|
|
||||||
Fallbacks=null
|
|
||||||
fallbacks=[]
|
|
||||||
Compress=null
|
|
||||||
compress=true
|
|
||||||
preload=[]
|
|
||||||
language_support={}
|
|
||||||
script_support={}
|
|
||||||
opentype_features={}
|
|
|
@ -1,9 +1,10 @@
|
||||||
[gd_scene load_steps=13 format=4 uid="uid://ba6afuig8bqrg"]
|
[gd_scene load_steps=14 format=4 uid="uid://ba6afuig8bqrg"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://s683ua4q2ewm" path="res://menu/PauseMenu.tscn" id="1_dtdta"]
|
||||||
[ext_resource type="PackedScene" uid="uid://snxpqx0ony7s" path="res://objects/Player.tscn" id="1_prjlb"]
|
[ext_resource type="PackedScene" uid="uid://snxpqx0ony7s" path="res://objects/Player.tscn" id="1_prjlb"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_mxtem"]
|
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_mxtem"]
|
||||||
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_lcf1n"]
|
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_lcf1n"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bu3jvq8ho4rpf" path="res://textures/Level 01.png" id="4_p3e10"]
|
[ext_resource type="Texture2D" uid="uid://bn7cejgxkah8o" path="res://textures/Level 01.png" id="4_p3e10"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="5_wr4v5"]
|
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="5_wr4v5"]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4uh45"]
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_4uh45"]
|
||||||
|
@ -138,6 +139,7 @@ size = Vector2(1289, 70.5)
|
||||||
[node name="Player" parent="." instance=ExtResource("1_prjlb")]
|
[node name="Player" parent="." instance=ExtResource("1_prjlb")]
|
||||||
|
|
||||||
[node name="CanvasLayer" parent="." instance=ExtResource("2_mxtem")]
|
[node name="CanvasLayer" parent="." instance=ExtResource("2_mxtem")]
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="Camera2D" type="Camera2D" parent="."]
|
[node name="Camera2D" type="Camera2D" parent="."]
|
||||||
|
|
||||||
|
@ -183,3 +185,10 @@ collision_mask = 4
|
||||||
[node name="Ground" type="CollisionShape2D" parent="Ground"]
|
[node name="Ground" type="CollisionShape2D" parent="Ground"]
|
||||||
position = Vector2(10, 375)
|
position = Vector2(10, 375)
|
||||||
shape = SubResource("RectangleShape2D_1vofj")
|
shape = SubResource("RectangleShape2D_1vofj")
|
||||||
|
|
||||||
|
[node name="PauseMenu" parent="." instance=ExtResource("1_dtdta")]
|
||||||
|
visible = false
|
||||||
|
offset_left = -320.0
|
||||||
|
offset_top = -160.0
|
||||||
|
offset_right = -320.0
|
||||||
|
offset_bottom = -160.0
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
[gd_scene load_steps=12 format=4 uid="uid://bgrwqfa7lr66a"]
|
[gd_scene load_steps=13 format=4 uid="uid://bgrwqfa7lr66a"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_hxt4x"]
|
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_hxt4x"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_3aspe"]
|
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_3aspe"]
|
||||||
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_kfccg"]
|
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="3_kfccg"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bu3jvq8ho4rpf" path="res://textures/Level 01.png" id="4_eh1te"]
|
[ext_resource type="Texture2D" uid="uid://bn7cejgxkah8o" path="res://textures/Level 01.png" id="4_eh1te"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="5_g32pt"]
|
[ext_resource type="PackedScene" uid="uid://d0q0sfati8wk0" path="res://objects/ResizableBlock.tscn" id="5_g32pt"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c168bkledwyya" path="res://objects/Laser.tscn" id="6_kbfc1"]
|
[ext_resource type="PackedScene" uid="uid://c168bkledwyya" path="res://objects/Laser.tscn" id="6_kbfc1"]
|
||||||
[ext_resource type="PackedScene" uid="uid://c6g2f7tm7iasr" path="res://objects/PressurePlate.tscn" id="7_5joy3"]
|
[ext_resource type="PackedScene" uid="uid://c6g2f7tm7iasr" path="res://objects/PressurePlate.tscn" id="7_5joy3"]
|
||||||
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="8_sbr7w"]
|
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="8_sbr7w"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bvvxwhg4tihng" path="res://menu/level_menu/level_select.tscn" id="9_0dfbn"]
|
||||||
|
|
||||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_a4gjk"]
|
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_a4gjk"]
|
||||||
texture = ExtResource("2_3aspe")
|
texture = ExtResource("2_3aspe")
|
||||||
|
@ -126,22 +127,10 @@ shader_parameter/scroll_speed = 0.02
|
||||||
|
|
||||||
[node name="LevelBase" instance=ExtResource("1_hxt4x")]
|
[node name="LevelBase" instance=ExtResource("1_hxt4x")]
|
||||||
|
|
||||||
[node name="Player" parent="." index="0"]
|
[node name="Player" parent="." index="1"]
|
||||||
position = Vector2(-254, 99)
|
position = Vector2(-254, 99)
|
||||||
input_pickable = true
|
input_pickable = true
|
||||||
|
|
||||||
[node name="Walls" parent="." index="3"]
|
|
||||||
collision_mask = 22
|
|
||||||
|
|
||||||
[node name="Ceiling" parent="Walls" index="0"]
|
|
||||||
position = Vector2(57, -171)
|
|
||||||
|
|
||||||
[node name="LeftWall" parent="Walls" index="1"]
|
|
||||||
position = Vector2(-320, 26)
|
|
||||||
|
|
||||||
[node name="RightWall" parent="Walls" index="2"]
|
|
||||||
position = Vector2(338, 15)
|
|
||||||
|
|
||||||
[node name="Layer1" type="TileMapLayer" parent="." index="4"]
|
[node name="Layer1" type="TileMapLayer" parent="." index="4"]
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAABAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAADAAIAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAFAAIAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAAFAAIAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAAEAAQAAAABAAEAAAAFAAQAAAABAAEAAAAGAAQAAAABAAEAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD7/wMAAAAAAAAAAAD8/wMAAAABAAAAAAD9/wMAAAABAAAAAAD+/wMAAAABAAAAAAD//wIAAAAAAAEAAAD//wEAAAAAAAAAAAAAAAEAAAAEAAIAAAABAAEAAAACAAAAAAABAAIAAAACAAEAAAABAAMAAAADAAIAAAD//wMAAAAFAAIAAAAAAAIAAAABAAEAAAAAAAMAAAABAAEAAAD3/wAAAAABAAAAAAD4/wAAAAABAAAAAAD5/wAAAAABAAAAAAD6/wAAAAAGAAAAAAD7/wAAAAAIAAAAAVD3//3/AAAIAAEAAFD4//3/AAAIAAEAAFD5//3/AAAIAAEAAFD6//3/AAAIAAEAAFD7//3/AAAIAAEAAFD8//3/AAAIAAEAAFD9//3/AAAIAAEAAFD+//3/AAACAAAAAAAAAP//AAABAAIAAAD/////AAAAAAIAAAD///7/AAAHAAAAAAAAAP7/AAACAAAAAAABAP//AAAIAAAAAVD+//7/AAAAAAIAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAEAAAACAAMAAAABAAAAAAADAAMAAAABAAAAAAAEAAMAAAABAAAAAAAFAAMAAAAFAAIAAAAGAAMAAAABAAEAAAAHAAMAAAABAAEAAAAIAAMAAAABAAEAAAAGAAEAAAABAAAAAAAHAAEAAAABAAAAAAAIAAEAAAABAAAAAAD3/wEAAAABAAIAAAD4/wEAAAABAAIAAAD5/wEAAAABAAIAAAAGAAIAAAABAAEAAAAHAAIAAAABAAEAAAAIAAIAAAABAAEAAAD6/wEAAAACAAIAAAA=")
|
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAABAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAADAAIAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAFAAIAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAAFAAIAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAAEAAQAAAABAAEAAAAFAAQAAAABAAEAAAAGAAQAAAABAAEAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD7/wMAAAAAAAAAAAD8/wMAAAABAAAAAAD9/wMAAAABAAAAAAD+/wMAAAABAAAAAAD//wIAAAAAAAEAAAD//wEAAAAAAAAAAAAAAAEAAAAEAAIAAAABAAEAAAACAAAAAAABAAIAAAACAAEAAAABAAMAAAADAAIAAAD//wMAAAAFAAIAAAAAAAIAAAABAAEAAAAAAAMAAAABAAEAAAD3/wAAAAABAAAAAAD4/wAAAAABAAAAAAD5/wAAAAABAAAAAAD6/wAAAAAGAAAAAAD7/wAAAAAIAAAAAVD3//3/AAAIAAEAAFD4//3/AAAIAAEAAFD5//3/AAAIAAEAAFD6//3/AAAIAAEAAFD7//3/AAAIAAEAAFD8//3/AAAIAAEAAFD9//3/AAAIAAEAAFD+//3/AAACAAAAAAAAAP//AAABAAIAAAD/////AAAAAAIAAAD///7/AAAHAAAAAAAAAP7/AAACAAAAAAABAP//AAAIAAAAAVD+//7/AAAAAAIAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAEAAAACAAMAAAABAAAAAAADAAMAAAABAAAAAAAEAAMAAAABAAAAAAAFAAMAAAAFAAIAAAAGAAMAAAABAAEAAAAHAAMAAAABAAEAAAAIAAMAAAABAAEAAAAGAAEAAAABAAAAAAAHAAEAAAABAAAAAAAIAAEAAAABAAAAAAD3/wEAAAABAAIAAAD4/wEAAAABAAIAAAD5/wEAAAABAAIAAAAGAAIAAAABAAEAAAAHAAIAAAABAAEAAAAIAAIAAAABAAEAAAD6/wEAAAACAAIAAAA=")
|
||||||
|
@ -185,6 +174,19 @@ rotation = 1.57987
|
||||||
|
|
||||||
[node name="Goal" parent="." index="12" instance=ExtResource("8_sbr7w")]
|
[node name="Goal" parent="." index="12" instance=ExtResource("8_sbr7w")]
|
||||||
position = Vector2(-272, -112)
|
position = Vector2(-272, -112)
|
||||||
|
next = ExtResource("9_0dfbn")
|
||||||
|
|
||||||
[node name="Layer0" parent="." index="14"]
|
[node name="Walls" parent="." index="13"]
|
||||||
|
collision_mask = 22
|
||||||
|
|
||||||
|
[node name="Ceiling" parent="Walls" index="0"]
|
||||||
|
position = Vector2(57, -171)
|
||||||
|
|
||||||
|
[node name="LeftWall" parent="Walls" index="1"]
|
||||||
|
position = Vector2(-320, 26)
|
||||||
|
|
||||||
|
[node name="RightWall" parent="Walls" index="2"]
|
||||||
|
position = Vector2(338, 15)
|
||||||
|
|
||||||
|
[node name="Layer0" parent="." index="15"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
|
@ -7,11 +7,15 @@
|
||||||
|
|
||||||
[node name="LevelBase" instance=ExtResource("1_87xn7")]
|
[node name="LevelBase" instance=ExtResource("1_87xn7")]
|
||||||
|
|
||||||
[node name="Player" parent="." index="0"]
|
[node name="Player" parent="." index="1"]
|
||||||
position = Vector2(-254, 99)
|
position = Vector2(-254, 99)
|
||||||
input_pickable = true
|
input_pickable = true
|
||||||
|
|
||||||
[node name="Walls" parent="." index="3"]
|
[node name="Goal" parent="." index="4" instance=ExtResource("9_xut5w")]
|
||||||
|
position = Vector2(-272, -112)
|
||||||
|
next = ExtResource("3_usr81")
|
||||||
|
|
||||||
|
[node name="Walls" parent="." index="5"]
|
||||||
collision_mask = 22
|
collision_mask = 22
|
||||||
|
|
||||||
[node name="Ceiling" parent="Walls" index="0"]
|
[node name="Ceiling" parent="Walls" index="0"]
|
||||||
|
@ -23,11 +27,7 @@ position = Vector2(-320, 26)
|
||||||
[node name="RightWall" parent="Walls" index="2"]
|
[node name="RightWall" parent="Walls" index="2"]
|
||||||
position = Vector2(338, 15)
|
position = Vector2(338, 15)
|
||||||
|
|
||||||
[node name="Goal" parent="." index="4" instance=ExtResource("9_xut5w")]
|
[node name="Layer0" parent="." index="7"]
|
||||||
position = Vector2(-272, -112)
|
|
||||||
next = ExtResource("3_usr81")
|
|
||||||
|
|
||||||
[node name="Layer0" parent="." index="6"]
|
|
||||||
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAADAAIAAAD2//7/AAABAAEAAAD2////AAABAAEAAAD2/wAAAAABAAEAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAABAAAAAAD9/wQAAAABAAAAAAD+/wQAAAABAAAAAAD//wQAAAABAAAAAAAAAAQAAAABAAAAAAABAAQAAAABAAAAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAABAAEAAAAAAAIAAAACAAEAAAACAAIAAAD3////AAABAAEAAAD4////AAACAAEAAAD4/wAAAAACAAEAAAD3/wAAAAABAAEAAAD3/wEAAAABAAIAAAD4/wEAAAACAAIAAAD3//7/AAABAAEAAAD4//7/AAACAAEAAAD3//3/AAABAAAAAAD4//3/AAACAAAAAAABAAAAAAAAAAAAAAACAAAAAAACAAAAAAA=")
|
tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAADAAIAAAD2//7/AAABAAEAAAD2////AAABAAEAAAD2/wAAAAABAAEAAAD2/wEAAAADAAAAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAABAAAAAAD6/wQAAAABAAAAAAD7/wQAAAABAAAAAAD8/wQAAAABAAAAAAD9/wQAAAABAAAAAAD+/wQAAAABAAAAAAD//wQAAAABAAAAAAAAAAQAAAABAAAAAAABAAQAAAABAAAAAAACAAQAAAABAAAAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAABAAEAAAAAAAIAAAACAAEAAAACAAIAAAD3////AAABAAEAAAD4////AAACAAEAAAD4/wAAAAACAAEAAAD3/wAAAAABAAEAAAD3/wEAAAABAAIAAAD4/wEAAAACAAIAAAD3//7/AAABAAEAAAD4//7/AAACAAEAAAD3//3/AAABAAAAAAD4//3/AAACAAAAAAABAAAAAAAAAAAAAAACAAAAAAACAAAAAAA=")
|
||||||
|
|
||||||
[node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("5_4ggcc")]
|
[node name="AnimatableBody2D" parent="." index="8" instance=ExtResource("5_4ggcc")]
|
||||||
|
|
87
gmtk_2024/menu/PauseMenu.tscn
Normal file
87
gmtk_2024/menu/PauseMenu.tscn
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://s683ua4q2ewm"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_fna2g"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_vaod1"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/pause_menu_control.gd" id="3_tyr11"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_u4plf"]
|
||||||
|
|
||||||
|
[node name="PauseMenu" type="MarginContainer"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_fna2g")
|
||||||
|
|
||||||
|
[node name="CanvasLayer" parent="." instance=ExtResource("2_vaod1")]
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
script = ExtResource("3_tyr11")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="VBoxContainer2" type="VBoxContainer" parent="Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/VBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Buttons" type="VBoxContainer" parent="Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_u4plf")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="continue" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "continue"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="HBoxContainer2" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_u4plf")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="restart" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "restart"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_u4plf")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="main menu" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "main menu"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer/continue" to="Control" method="_on_continue_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer2/restart" to="Control" method="_on_restart_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer3/main menu" to="Control" method="_on_back_to_main_menu_button_pressed"]
|
49
gmtk_2024/menu/main_menu/Cre73AB.tmp
Normal file
49
gmtk_2024/menu/main_menu/Cre73AB.tmp
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://cut2xjnvh8i58"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tmf11"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/menu_credit_control.gd" id="2_ogwi7"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="3_rybt6"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_pv7fe"]
|
||||||
|
|
||||||
|
[node name="CreditScene" type="MarginContainer"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_tmf11")
|
||||||
|
|
||||||
|
[node name="CanvasLayer" parent="." instance=ExtResource("3_rybt6")]
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
script = ExtResource("2_ogwi7")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_pv7fe")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "back to menu"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]
|
|
@ -62,9 +62,9 @@ layout_mode = 2
|
||||||
theme_override_fonts/font = ExtResource("1_1tx2i")
|
theme_override_fonts/font = ExtResource("1_1tx2i")
|
||||||
text = ">"
|
text = ">"
|
||||||
|
|
||||||
[node name="credits" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
|
[node name="level_select" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "credits"
|
text = "level selection"
|
||||||
flat = true
|
flat = true
|
||||||
|
|
||||||
[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
[node name="HBoxContainer3" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
||||||
|
@ -77,11 +77,27 @@ layout_mode = 2
|
||||||
theme_override_fonts/font = ExtResource("1_1tx2i")
|
theme_override_fonts/font = ExtResource("1_1tx2i")
|
||||||
text = ">"
|
text = ">"
|
||||||
|
|
||||||
[node name="quit" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
|
[node name="credits" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer3"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "credits"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[node name="HBoxContainer4" type="HBoxContainer" parent="Control/VBoxContainer/Buttons"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/Buttons/HBoxContainer4"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("1_1tx2i")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="quit" type="Button" parent="Control/VBoxContainer/Buttons/HBoxContainer4"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "quit"
|
text = "quit"
|
||||||
flat = true
|
flat = true
|
||||||
|
|
||||||
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer/start" to="Control" method="_on_start_button_pressed"]
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer/start" to="Control" method="_on_start_button_pressed"]
|
||||||
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer2/credits" to="Control" method="_on_credits_button_pressed"]
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer2/level_select" to="Control" method="_on_level_select_pressed"]
|
||||||
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer3/quit" to="Control" method="_on_quit_button_pressed"]
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer3/credits" to="Control" method="_on_credits_button_pressed"]
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/Buttons/HBoxContainer4/quit" to="Control" method="_on_quit_button_pressed"]
|
||||||
|
|
49
gmtk_2024/objects/LevA5DE.tmp
Normal file
49
gmtk_2024/objects/LevA5DE.tmp
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://n2culjgg5aji"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tm23e"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_d3r0j"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/level_completed_control.gd" id="3_38v2l"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_8fqei"]
|
||||||
|
|
||||||
|
[node name="LevelComplete" type="MarginContainer"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_tm23e")
|
||||||
|
|
||||||
|
[node name="CanvasLayer" parent="." instance=ExtResource("2_d3r0j")]
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
script = ExtResource("3_38v2l")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_8fqei")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "back to level menu"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]
|
49
gmtk_2024/objects/LevelComplete.tscn
Normal file
49
gmtk_2024/objects/LevelComplete.tscn
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
[gd_scene load_steps=5 format=3 uid="uid://n2culjgg5aji"]
|
||||||
|
|
||||||
|
[ext_resource type="Theme" uid="uid://cohbys634cf18" path="res://menu/main_menu/MainMenuTheme.tres" id="1_tm23e"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_d3r0j"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/level_completed_control.gd" id="3_38v2l"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://d3pbvdemdbxes" path="res://CommodoreSixtyFour.ttf" id="4_8fqei"]
|
||||||
|
|
||||||
|
[node name="LevelComplete" type="MarginContainer"]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme = ExtResource("1_tm23e")
|
||||||
|
|
||||||
|
[node name="CanvasLayer" parent="." instance=ExtResource("2_d3r0j")]
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[node name="Control" type="Control" parent="."]
|
||||||
|
layout_mode = 2
|
||||||
|
script = ExtResource("3_38v2l")
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Control"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 40.0
|
||||||
|
offset_bottom = 40.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="BackToMenu" type="HBoxContainer" parent="Control/VBoxContainer"]
|
||||||
|
visible = false
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
custom_minimum_size = Vector2(8, 0)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_fonts/font = ExtResource("4_8fqei")
|
||||||
|
text = ">"
|
||||||
|
|
||||||
|
[node name="back" type="Button" parent="Control/VBoxContainer/BackToMenu"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "back to level menu"
|
||||||
|
flat = true
|
||||||
|
|
||||||
|
[connection signal="pressed" from="Control/VBoxContainer/BackToMenu/back" to="Control" method="_return_to_main_menu"]
|
|
@ -10,17 +10,18 @@ config_version=5
|
||||||
|
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="GMTK_2024"
|
config/name="Infiltration.exe"
|
||||||
run/main_scene="res://menu/main_menu/MainMenu.tscn"
|
run/main_scene="res://menu/main_menu/MainMenu.tscn"
|
||||||
config/features=PackedStringArray("4.3", "GL Compatibility")
|
config/features=PackedStringArray("4.3", "GL Compatibility")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://temp_assets/icon.svg"
|
||||||
|
|
||||||
[display]
|
[display]
|
||||||
|
|
||||||
window/size/viewport_width=640
|
window/size/viewport_width=1280
|
||||||
window/size/viewport_height=320
|
window/size/viewport_height=720
|
||||||
window/size/mode=2
|
window/size/mode=2
|
||||||
window/stretch/mode="viewport"
|
window/stretch/mode="viewport"
|
||||||
|
window/stretch/scale=2.0
|
||||||
mouse_cursor/custom_image="res://textures/cursor_normal.png"
|
mouse_cursor/custom_image="res://textures/cursor_normal.png"
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
@ -37,7 +38,8 @@ player_left={
|
||||||
}
|
}
|
||||||
player_jump={
|
player_jump={
|
||||||
"deadzone": 0.5,
|
"deadzone": 0.5,
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
click={
|
click={
|
||||||
|
@ -55,6 +57,27 @@ r={
|
||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":82,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
up={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
down={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
accept={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
pause={
|
||||||
|
"deadzone": 0.5,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[layer_names]
|
[layer_names]
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
@export var next : PackedScene
|
@export var next : PackedScene
|
||||||
|
@export var completed = preload("res://objects/LevelComplete.tscn")
|
||||||
|
|
||||||
@onready var animation = $AnimationPlayer
|
@onready var animation = $AnimationPlayer
|
||||||
|
|
||||||
|
@onready var level_select_scene = preload("res://menu/level_menu/level_select.tscn")
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
animation.play("portal")
|
animation.play("portal")
|
||||||
|
|
||||||
func _on_body_entered(body: Node2D) -> void:
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if next == level_select_scene:
|
||||||
|
get_tree().change_scene_to_packed(completed)
|
||||||
|
else:
|
||||||
get_tree().change_scene_to_packed(next)
|
get_tree().change_scene_to_packed(next)
|
||||||
|
|
97
gmtk_2024/scripts/level_completed_control.gd
Normal file
97
gmtk_2024/scripts/level_completed_control.gd
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
var credits_text = """
|
||||||
|
CONGRATULATIONS
|
||||||
|
THIS SECTOR IS NOW INFECTED
|
||||||
|
YOU NOW HAVE ACCESS TO THE NEXT SECTION
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
var current_text = ""
|
||||||
|
var char_index = 0
|
||||||
|
var typing_speed = 0.05
|
||||||
|
var fast_typing_speed = 0.0001
|
||||||
|
var last_click_time = 0.0
|
||||||
|
var double_click_time = 0.3
|
||||||
|
var is_typing = true
|
||||||
|
var current_button_index = 0
|
||||||
|
var button
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
_initialize_menu()
|
||||||
|
_start_typing()
|
||||||
|
|
||||||
|
func _initialize_menu():
|
||||||
|
button = $VBoxContainer/BackToMenu
|
||||||
|
_update_button_visibility()
|
||||||
|
_blink_current_button()
|
||||||
|
|
||||||
|
func _update_button_visibility():
|
||||||
|
var hbox_container = button
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if not is_typing:
|
||||||
|
if Input.is_action_pressed("ui_accept"):
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
|
||||||
|
func _blink_current_button() -> void:
|
||||||
|
while true:
|
||||||
|
var hbox_container = button
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = true
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = false
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
|
||||||
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
if is_typing:
|
||||||
|
if event is InputEventKey and event.is_pressed():
|
||||||
|
if get_time_since_last_click() <= double_click_time:
|
||||||
|
_show_full_text()
|
||||||
|
else:
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
elif event is InputEventKey and not event.is_pressed():
|
||||||
|
typing_speed = 0.05
|
||||||
|
else:
|
||||||
|
if event.is_action_pressed("ui_accept"):
|
||||||
|
button.get_child(1).emit_signal("pressed")
|
||||||
|
|
||||||
|
func _start_typing() -> void:
|
||||||
|
current_text = ""
|
||||||
|
char_index = 0
|
||||||
|
is_typing = true
|
||||||
|
_update_text()
|
||||||
|
|
||||||
|
func _update_text() -> void:
|
||||||
|
if char_index < credits_text.length():
|
||||||
|
current_text += credits_text[char_index]
|
||||||
|
$VBoxContainer/Label.text = current_text
|
||||||
|
char_index += 1
|
||||||
|
await get_tree().create_timer(typing_speed).timeout
|
||||||
|
_update_text()
|
||||||
|
else:
|
||||||
|
is_typing = false
|
||||||
|
_show_menu_options()
|
||||||
|
|
||||||
|
func _show_menu_options() -> void:
|
||||||
|
$VBoxContainer/BackToMenu.visible = true
|
||||||
|
|
||||||
|
func _return_to_main_menu() -> void:
|
||||||
|
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
|
||||||
|
|
||||||
|
func _show_full_text() -> void:
|
||||||
|
current_text = credits_text
|
||||||
|
$VBoxContainer/Label.text = current_text
|
||||||
|
char_index = credits_text.length()
|
||||||
|
_show_menu_options()
|
||||||
|
|
||||||
|
func get_time_since_last_click() -> float:
|
||||||
|
var current_time = Time.get_ticks_msec() / 1000.0 # Zeit in Sekunden
|
||||||
|
var time_since_last_click = current_time - last_click_time
|
||||||
|
last_click_time = current_time
|
||||||
|
return time_since_last_click
|
|
@ -1,6 +1,7 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
setup_level_box()
|
setup_level_box()
|
||||||
connect_level_selected_to_level_box()
|
connect_level_selected_to_level_box()
|
||||||
|
|
||||||
|
|
|
@ -4,38 +4,69 @@ var credits_text = """
|
||||||
CREDITS:
|
CREDITS:
|
||||||
-----------
|
-----------
|
||||||
Programming: Jannis, Fabio
|
Programming: Jannis, Fabio
|
||||||
Design: Leon
|
Pixel Art : Leon
|
||||||
Music: TBN
|
Music: TBN
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
var current_text = ""
|
var current_text = ""
|
||||||
var char_index = 0
|
var char_index = 0
|
||||||
var typing_speed = 0.05 # Normale Tippgeschwindigkeit
|
var typing_speed = 0.05
|
||||||
var fast_typing_speed = 0.01 # Schnellere Tippgeschwindigkeit
|
var fast_typing_speed = 0.0001
|
||||||
var is_fast_typing = false # Statusvariable für schnelleres Tippen
|
|
||||||
|
|
||||||
# Zum Überprüfen eines Doppelklicks
|
|
||||||
var last_click_time = 0.0
|
var last_click_time = 0.0
|
||||||
var double_click_time = 0.3 # Zeitfenster für Doppelklick in Sekunden
|
var double_click_time = 0.3
|
||||||
|
var is_typing = true
|
||||||
|
var current_button_index = 0
|
||||||
|
var button
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
_initialize_menu()
|
||||||
_start_typing()
|
_start_typing()
|
||||||
|
|
||||||
|
func _initialize_menu():
|
||||||
|
button = $VBoxContainer/BackToMenu
|
||||||
|
_update_button_visibility()
|
||||||
|
_blink_current_button()
|
||||||
|
|
||||||
|
func _update_button_visibility():
|
||||||
|
var hbox_container = button
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible
|
||||||
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
# Überprüfe, ob eine Taste oder Maustaste gedrückt gehalten wird
|
if not is_typing:
|
||||||
if Input.is_action_pressed("ui_accept") or Input.is_action_pressed("ui_accept"):
|
if Input.is_action_pressed("ui_accept"):
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
|
||||||
|
func _blink_current_button() -> void:
|
||||||
|
while true:
|
||||||
|
var hbox_container = button
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = true
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = false
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
|
||||||
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
if is_typing:
|
||||||
|
if event is InputEventKey and event.is_pressed():
|
||||||
if get_time_since_last_click() <= double_click_time:
|
if get_time_since_last_click() <= double_click_time:
|
||||||
_show_full_text()
|
_show_full_text()
|
||||||
else:
|
else:
|
||||||
is_fast_typing = true
|
typing_speed = fast_typing_speed
|
||||||
|
elif event is InputEventKey and not event.is_pressed():
|
||||||
|
typing_speed = 0.05
|
||||||
else:
|
else:
|
||||||
is_fast_typing = false
|
if event.is_action_pressed("ui_accept"):
|
||||||
|
button.get_child(1).emit_signal("pressed")
|
||||||
typing_speed = fast_typing_speed if is_fast_typing else 0.05
|
|
||||||
|
|
||||||
func _start_typing() -> void:
|
func _start_typing() -> void:
|
||||||
current_text = ""
|
current_text = ""
|
||||||
char_index = 0
|
char_index = 0
|
||||||
|
is_typing = true
|
||||||
_update_text()
|
_update_text()
|
||||||
|
|
||||||
func _update_text() -> void:
|
func _update_text() -> void:
|
||||||
|
@ -46,6 +77,7 @@ func _update_text() -> void:
|
||||||
await get_tree().create_timer(typing_speed).timeout
|
await get_tree().create_timer(typing_speed).timeout
|
||||||
_update_text()
|
_update_text()
|
||||||
else:
|
else:
|
||||||
|
is_typing = false
|
||||||
_show_menu_options()
|
_show_menu_options()
|
||||||
|
|
||||||
func _show_menu_options() -> void:
|
func _show_menu_options() -> void:
|
||||||
|
@ -58,6 +90,7 @@ func _show_full_text() -> void:
|
||||||
current_text = credits_text
|
current_text = credits_text
|
||||||
$VBoxContainer/Label.text = current_text
|
$VBoxContainer/Label.text = current_text
|
||||||
char_index = credits_text.length()
|
char_index = credits_text.length()
|
||||||
|
is_typing = false
|
||||||
_show_menu_options()
|
_show_menu_options()
|
||||||
|
|
||||||
func get_time_since_last_click() -> float:
|
func get_time_since_last_click() -> float:
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
extends Control
|
extends Control
|
||||||
|
|
||||||
var display_text = """
|
var display_text = """
|
||||||
SYSTEM INITIALIZATION...
|
STARTING Infiltrate.exe ...
|
||||||
---------------------------------------
|
|
||||||
PLACEHOLDER GAME NAME BOOT SEQUENCE
|
|
||||||
COPYRIGHT PLACEHOLDER
|
|
||||||
MADE FOR GMTK GAME JAM 2024
|
MADE FOR GMTK GAME JAM 2024
|
||||||
|
---------------------------------------
|
||||||
|
|
||||||
>> WARNING:
|
>> SECURITY PROTOCOLS: ACTIVE
|
||||||
>> RECOMMENDED ACTION:
|
>> SCANNING FOR THREATS...
|
||||||
|
|
||||||
|
>> WARNING: UNAUTHORIZED ACCESS DETECTED
|
||||||
|
>> INITIALIZING COUNTERMEASURES...
|
||||||
|
|
||||||
SYSTEM READY.
|
|
||||||
PRESS START TO GET ACCESS.
|
PRESS START TO GET ACCESS.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -21,28 +21,71 @@ var typing_speed = 0.05
|
||||||
var fast_typing_speed = 0.0001
|
var fast_typing_speed = 0.0001
|
||||||
var last_click_time = 0.0
|
var last_click_time = 0.0
|
||||||
var double_click_time = 0.3
|
var double_click_time = 0.3
|
||||||
|
var is_typing = true
|
||||||
|
var current_button_index = 0
|
||||||
|
var buttons = []
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
for hbox in $VBoxContainer/Buttons.get_children():
|
for hbox in $VBoxContainer/Buttons.get_children():
|
||||||
hbox.visible = false
|
hbox.visible = false
|
||||||
|
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
|
||||||
|
_initialize_menu()
|
||||||
_start_typing()
|
_start_typing()
|
||||||
|
|
||||||
|
func _initialize_menu():
|
||||||
|
buttons = $VBoxContainer/Buttons.get_children()
|
||||||
|
_update_button_visibility()
|
||||||
|
_blink_current_button()
|
||||||
|
|
||||||
|
func _update_button_visibility():
|
||||||
|
for i in range(len(buttons)):
|
||||||
|
var hbox_container = buttons[i]
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = (i == current_button_index)
|
||||||
|
|
||||||
|
func _blink_current_button() -> void:
|
||||||
|
while true:
|
||||||
|
var hbox_container = buttons[current_button_index]
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = true
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = false
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
|
||||||
|
|
||||||
func _unhandled_input(event: InputEvent) -> void:
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed("ui_accept") or event is InputEventMouseButton:
|
if is_typing:
|
||||||
|
if event is InputEventKey and event.is_pressed():
|
||||||
if get_time_since_last_click() <= double_click_time:
|
if get_time_since_last_click() <= double_click_time:
|
||||||
_show_full_text()
|
_show_full_text()
|
||||||
else:
|
else:
|
||||||
typing_speed = fast_typing_speed
|
typing_speed = fast_typing_speed
|
||||||
else:
|
elif event is InputEventKey and not event.is_pressed():
|
||||||
typing_speed = 0.05
|
typing_speed = 0.05
|
||||||
|
else:
|
||||||
|
if event.is_action_pressed("ui_down") or event.is_action_pressed("down"):
|
||||||
|
current_button_index = (current_button_index + 1) % buttons.size()
|
||||||
|
_update_button_visibility()
|
||||||
|
elif event.is_action_pressed("ui_up") or event.is_action_pressed("up"):
|
||||||
|
current_button_index = (current_button_index - 1 + buttons.size()) % buttons.size()
|
||||||
|
_update_button_visibility()
|
||||||
|
elif event.is_action_pressed("ui_accept"):
|
||||||
|
buttons[current_button_index].get_child(1).emit_signal("pressed")
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
pass # typing_speed = 0.05 # Zurück zur normalen Geschwindigkeit
|
if not is_typing:
|
||||||
|
if Input.is_action_pressed("ui_accept"):
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
|
||||||
func _start_typing() -> void:
|
func _start_typing() -> void:
|
||||||
current_text = ""
|
current_text = ""
|
||||||
char_index = 0
|
char_index = 0
|
||||||
|
is_typing = true
|
||||||
_update_text()
|
_update_text()
|
||||||
|
|
||||||
func _update_text() -> void:
|
func _update_text() -> void:
|
||||||
|
@ -53,6 +96,7 @@ func _update_text() -> void:
|
||||||
await get_tree().create_timer(typing_speed).timeout
|
await get_tree().create_timer(typing_speed).timeout
|
||||||
_update_text()
|
_update_text()
|
||||||
else:
|
else:
|
||||||
|
is_typing = false
|
||||||
_show_menu_options()
|
_show_menu_options()
|
||||||
|
|
||||||
func _show_menu_options() -> void:
|
func _show_menu_options() -> void:
|
||||||
|
@ -63,6 +107,7 @@ func _show_full_text() -> void:
|
||||||
current_text = display_text
|
current_text = display_text
|
||||||
$VBoxContainer/VBoxContainer2/Label.text = current_text
|
$VBoxContainer/VBoxContainer2/Label.text = current_text
|
||||||
char_index = display_text.length()
|
char_index = display_text.length()
|
||||||
|
is_typing = false
|
||||||
_show_menu_options()
|
_show_menu_options()
|
||||||
|
|
||||||
func get_time_since_last_click() -> float:
|
func get_time_since_last_click() -> float:
|
||||||
|
@ -72,12 +117,15 @@ func get_time_since_last_click() -> float:
|
||||||
return time_since_last_click
|
return time_since_last_click
|
||||||
|
|
||||||
func _on_start_button_pressed() -> void:
|
func _on_start_button_pressed() -> void:
|
||||||
|
get_tree().change_scene_to_file("res://levels/level_1.tscn")
|
||||||
|
|
||||||
|
func _on_level_select_pressed():
|
||||||
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
|
get_tree().change_scene_to_file("res://menu/level_menu/level_select.tscn")
|
||||||
|
|
||||||
func _on_credits_button_pressed() -> void:
|
func _on_credits_button_pressed() -> void:
|
||||||
get_tree().change_scene_to_file("res://menu/main_menu/CreditsScene.tscn")
|
get_tree().change_scene_to_file("res://menu/main_menu/CreditsScene.tscn")
|
||||||
|
|
||||||
func _on_quit_button_pressed() -> void:
|
func _on_quit_button_pressed() -> void:
|
||||||
$VBoxContainer/VBoxContainer2/Label.text += "\nLogging out!"
|
$VBoxContainer/VBoxContainer2/Label.text += "Logging out!"
|
||||||
await get_tree().create_timer(0.5).timeout
|
await get_tree().create_timer(0.5).timeout
|
||||||
get_tree().quit()
|
get_tree().quit()
|
||||||
|
|
127
gmtk_2024/scripts/pause_menu_control.gd
Normal file
127
gmtk_2024/scripts/pause_menu_control.gd
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
extends Control
|
||||||
|
|
||||||
|
var display_text = """
|
||||||
|
PAUSING OPERATION ...
|
||||||
|
---------------------------------------
|
||||||
|
"""
|
||||||
|
|
||||||
|
signal continue_game
|
||||||
|
signal restart_game
|
||||||
|
signal back_to_main_menu
|
||||||
|
|
||||||
|
var current_text = ""
|
||||||
|
var char_index = 0
|
||||||
|
var typing_speed = 0.05
|
||||||
|
var fast_typing_speed = 0.0001
|
||||||
|
var last_click_time = 0.0
|
||||||
|
var double_click_time = 0.3
|
||||||
|
var is_typing = true
|
||||||
|
var current_button_index = 0
|
||||||
|
var buttons = []
|
||||||
|
var current_scene = null
|
||||||
|
var pause_menu_node = null
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
current_scene = get_tree().current_scene
|
||||||
|
|
||||||
|
pause_menu_node = get_parent()
|
||||||
|
|
||||||
|
for hbox in $VBoxContainer/Buttons.get_children():
|
||||||
|
hbox.visible = false
|
||||||
|
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN)
|
||||||
|
_initialize_menu()
|
||||||
|
_start_typing()
|
||||||
|
|
||||||
|
func _initialize_menu():
|
||||||
|
buttons = $VBoxContainer/Buttons.get_children()
|
||||||
|
_update_button_visibility()
|
||||||
|
|
||||||
|
func _update_button_visibility():
|
||||||
|
for i in range(len(buttons)):
|
||||||
|
var hbox_container = buttons[i]
|
||||||
|
var label_node = hbox_container.get_child(0)
|
||||||
|
if label_node != null:
|
||||||
|
label_node.visible = (i == current_button_index)
|
||||||
|
|
||||||
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
if is_typing:
|
||||||
|
if event is InputEventKey and event.is_pressed():
|
||||||
|
if get_time_since_last_click() <= double_click_time:
|
||||||
|
_show_full_text()
|
||||||
|
else:
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
elif event is InputEventKey and not event.is_pressed():
|
||||||
|
typing_speed = 0.05
|
||||||
|
#else:
|
||||||
|
#if event.is_action_pressed("pause"):
|
||||||
|
#toggle_pause_menu()
|
||||||
|
|
||||||
|
if event.is_action_pressed("ui_down"):
|
||||||
|
navigate_menu(1)
|
||||||
|
elif event.is_action_pressed("ui_up"):
|
||||||
|
navigate_menu(-1)
|
||||||
|
|
||||||
|
if event.is_action_pressed("ui_accept"):
|
||||||
|
buttons[current_button_index].get_child(1).emit_signal("pressed")
|
||||||
|
|
||||||
|
func _process(_delta: float) -> void:
|
||||||
|
if not is_typing and Input.is_action_pressed("ui_accept"):
|
||||||
|
typing_speed = fast_typing_speed
|
||||||
|
|
||||||
|
func _start_typing() -> void:
|
||||||
|
current_text = ""
|
||||||
|
char_index = 0
|
||||||
|
is_typing = true
|
||||||
|
_update_text()
|
||||||
|
|
||||||
|
func _update_text() -> void:
|
||||||
|
if char_index < display_text.length():
|
||||||
|
current_text += display_text[char_index]
|
||||||
|
$VBoxContainer/VBoxContainer2/Label.text = current_text
|
||||||
|
char_index += 1
|
||||||
|
await get_tree().create_timer(typing_speed).timeout
|
||||||
|
_update_text()
|
||||||
|
else:
|
||||||
|
is_typing = false
|
||||||
|
_show_menu_options()
|
||||||
|
|
||||||
|
func _show_menu_options() -> void:
|
||||||
|
for hbox in $VBoxContainer/Buttons.get_children():
|
||||||
|
hbox.visible = true
|
||||||
|
grab_focus()
|
||||||
|
|
||||||
|
func _show_full_text() -> void:
|
||||||
|
current_text = display_text
|
||||||
|
$VBoxContainer/VBoxContainer2/Label.text = current_text
|
||||||
|
char_index = display_text.length()
|
||||||
|
is_typing = false
|
||||||
|
_show_menu_options()
|
||||||
|
|
||||||
|
func get_time_since_last_click() -> float:
|
||||||
|
var current_time = Time.get_ticks_msec() / 1000.0
|
||||||
|
var time_since_last_click = current_time - last_click_time
|
||||||
|
last_click_time = current_time
|
||||||
|
return time_since_last_click
|
||||||
|
|
||||||
|
func toggle_pause_menu():
|
||||||
|
if pause_menu_node.visible:
|
||||||
|
_on_continue_button_pressed()
|
||||||
|
else:
|
||||||
|
pause_menu_node.visible = true
|
||||||
|
get_tree().paused = true
|
||||||
|
grab_focus()
|
||||||
|
|
||||||
|
func _on_continue_button_pressed():
|
||||||
|
pause_menu_node.visible = false
|
||||||
|
get_tree().paused = false
|
||||||
|
|
||||||
|
func _on_restart_button_pressed():
|
||||||
|
emit_signal("restart_game")
|
||||||
|
|
||||||
|
func _on_back_to_main_menu_button_pressed():
|
||||||
|
emit_signal("back_to_main_menu")
|
||||||
|
|
||||||
|
func navigate_menu(direction: int) -> void:
|
||||||
|
current_button_index = (current_button_index + direction + buttons.size()) % buttons.size()
|
||||||
|
_update_button_visibility()
|
|
@ -27,7 +27,7 @@ var cursor_scale_down = preload("res://textures/cursor_scale_down.png")
|
||||||
func _ready():
|
func _ready():
|
||||||
data_link = $data_link
|
data_link = $data_link
|
||||||
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed("click"):
|
if event.is_action_pressed("click"):
|
||||||
var nearest_block = find_nearest_block()
|
var nearest_block = find_nearest_block()
|
||||||
if nearest_block:
|
if nearest_block:
|
||||||
|
|
Loading…
Add table
Reference in a new issue