new input system, add pausing
All checks were successful
CI / build (push) Successful in 2m52s

This commit is contained in:
Ultrablob 2025-02-07 13:37:10 -05:00
parent 4a31db6411
commit 88c05bbd8c
21 changed files with 194 additions and 75 deletions

BIN
.DS_Store vendored

Binary file not shown.

View file

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 136 B

Before After
Before After

View file

@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://cpjtncjaomqwm"
path="res://.godot/imported/tile_0366.png-edb08678f52d381824bd466af55fc5c0.ctex"
path="res://.godot/imported/prompt_p.png-9bae51d7552c94969996b613509af9e3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://1-Bit Input Prompts Pixel 16/Tiles (White)/tile_0366.png"
dest_files=["res://.godot/imported/tile_0366.png-edb08678f52d381824bd466af55fc5c0.ctex"]
source_file="res://1-Bit Input Prompts Pixel 16/Tiles (White)/prompt_p.png"
dest_files=["res://.godot/imported/prompt_p.png-9bae51d7552c94969996b613509af9e3.ctex"]
[params]

View file

@ -45,6 +45,8 @@ func spawn_loop():
func spawn_enemies(count: int, duration: float, enemy: WaveEnemy):
var delay = duration / count
for i in range(count):
if get_tree().paused:
await get_parent().unpaused
spawn(enemy)
await get_tree().create_timer(delay).timeout

View file

@ -56,7 +56,7 @@ animations = [{
[sub_resource type="CircleShape2D" id="CircleShape2D_13gk7"]
radius = 30.0
[node name="Bullet" type="RigidBody2D" groups=["bullet"]]
[node name="Bullet" type="RigidBody2D" groups=["bullet", "destructible"]]
collision_layer = 2
physics_material_override = SubResource("PhysicsMaterial_xnhwp")
gravity_scale = 1.66533e-16

BIN
eptagon base.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

34
eptagon base.png.import Normal file
View file

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

BIN
eptagon shoot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

34
eptagon shoot.png.import Normal file
View file

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

View file

@ -1,10 +1,21 @@
extends StaticBody2D
var dying = false
# Called when the node enters the scene tree for the first time.
func _ready():
$Turret.target = $"../Player"
#print($Turret.target)
func destroy():
if dying:
return
dying = true
var explosion = load("res://explosion.tscn").instantiate()
$"/root/Node2D".add_child(explosion)
explosion.global_position = global_position
await get_tree().create_timer(0.2).timeout
queue_free()
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):

View file

@ -1,39 +1,60 @@
[gd_scene load_steps=12 format=3 uid="uid://bda763f0fxh5k"]
[gd_scene load_steps=15 format=3 uid="uid://bda763f0fxh5k"]
[ext_resource type="Script" path="res://eptagon.gd" id="1_d0pdl"]
[ext_resource type="Texture2D" uid="uid://d4f0f3ggnd3rl" path="res://eptagon.png" id="1_kwkxh"]
[ext_resource type="Script" path="res://Turret.gd" id="2_6tkha"]
[ext_resource type="Texture2D" uid="uid://ccbd4o2iasbun" path="res://eptagon base.png" id="2_ook2g"]
[ext_resource type="Script" path="res://Gun.gd" id="2_sea5o"]
[ext_resource type="Texture2D" uid="uid://d1wxsdwad10p6" path="res://eptagon-turret.png" id="3_jhgw8"]
[ext_resource type="PackedScene" uid="uid://c6ybtahxwpukd" path="res://bullet.tscn" id="4_cyd7j"]
[ext_resource type="Texture2D" uid="uid://da478jrss0ira" path="res://eptagon shoot.png" id="4_unb6p"]
[sub_resource type="AtlasTexture" id="AtlasTexture_1fcnk"]
atlas = ExtResource("3_jhgw8")
region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ynjjr"]
atlas = ExtResource("4_unb6p")
region = Rect2(0, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_hhi7e"]
atlas = ExtResource("3_jhgw8")
region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_7lu72"]
atlas = ExtResource("4_unb6p")
region = Rect2(128, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_lo0cp"]
atlas = ExtResource("3_jhgw8")
region = Rect2(0, 32, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_i6mfs"]
atlas = ExtResource("4_unb6p")
region = Rect2(256, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_g3rpy"]
atlas = ExtResource("4_unb6p")
region = Rect2(384, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_4lb8x"]
atlas = ExtResource("4_unb6p")
region = Rect2(512, 0, 128, 128)
[sub_resource type="AtlasTexture" id="AtlasTexture_bkh2l"]
atlas = ExtResource("4_unb6p")
region = Rect2(640, 0, 128, 128)
[sub_resource type="SpriteFrames" id="SpriteFrames_1fj5a"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_1fcnk")
"texture": SubResource("AtlasTexture_ynjjr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hhi7e")
"texture": SubResource("AtlasTexture_7lu72")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lo0cp")
"texture": SubResource("AtlasTexture_i6mfs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g3rpy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4lb8x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bkh2l")
}],
"loop": true,
"name": &"default",
"speed": 3.0
"speed": 7.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_03ifk"]
@ -43,18 +64,18 @@ radius = 36.0139
script = ExtResource("1_d0pdl")
[node name="Sprite2D" type="Sprite2D" parent="."]
scale = Vector2(3, 3)
texture = ExtResource("1_kwkxh")
position = Vector2(1, 5)
texture = ExtResource("2_ook2g")
[node name="Turret" type="Node2D" parent="."]
script = ExtResource("2_6tkha")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="Turret"]
position = Vector2(14, 0)
position = Vector2(5, 0)
rotation = -1.5708
scale = Vector2(3, 3)
sprite_frames = SubResource("SpriteFrames_1fj5a")
autoplay = "default"
frame_progress = 0.726849
[node name="Gun" type="Marker2D" parent="Turret"]
position = Vector2(56, 0)

View file

@ -1,6 +1,9 @@
extends Node2D
var config = ConfigFile.new()
signal paused
signal unpaused
# Called when the node enters the scene tree for the first time.
func _init():

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=120 format=3 uid="uid://bmd4m7lqj4v0x"]
[gd_scene load_steps=121 format=3 uid="uid://bmd4m7lqj4v0x"]
[ext_resource type="Script" path="res://main.gd" id="1_3dydx"]
[ext_resource type="Script" path="res://Spawner.gd" id="1_ifu8g"]
@ -12,15 +12,16 @@
[ext_resource type="Texture2D" uid="uid://yvrhlh04k8w1" path="res://background space.png" id="6_yg4g1"]
[ext_resource type="Script" path="res://wave_enemy.gd" id="7_54h7d"]
[ext_resource type="Texture2D" uid="uid://cwquv3mq5kk1d" path="res://countdown-spritesheet.png" id="8_e1eub"]
[ext_resource type="Resource" uid="uid://dd8me0deake37" path="res://eptagon_enemy.tres" id="9_q67ak"]
[ext_resource type="Resource" uid="uid://ba01r62bwm6av" path="res://eptagon_enemy.tres" id="9_q67ak"]
[ext_resource type="Resource" uid="uid://c805aej5v7cvr" path="res://eart.tres" id="10_jib8h"]
[ext_resource type="AudioStream" uid="uid://dn65uapn0wsok" path="res://impactMetal_002.ogg" id="11_acuni"]
[ext_resource type="Script" path="res://CollisionCheck.gd" id="11_ryeyk"]
[ext_resource type="FontFile" uid="uid://bnguin7bsyx6e" path="res://Kenney Future.ttf" id="11_s4q6p"]
[ext_resource type="Texture2D" uid="uid://bvpoajwx0yw3y" path="res://Circle.png" id="13_318fy"]
[ext_resource type="Texture2D" uid="uid://cso5ufbf7u7oj" path="res://Circle.png" id="13_318fy"]
[ext_resource type="Script" path="res://Notification.gd" id="13_lkv81"]
[ext_resource type="Script" path="res://Stopwatch.gd" id="13_xhnp2"]
[ext_resource type="Script" path="res://Leaderboard.gd" id="14_v1elq"]
[ext_resource type="Script" path="res://pause_game.gd" id="16_bto6x"]
[ext_resource type="FontFile" uid="uid://bpcp43g74vhgo" path="res://monogram-extended.ttf" id="16_s4rjt"]
[ext_resource type="PackedScene" uid="uid://4sdwatj6up8i" path="res://tar.tscn" id="19_8258f"]
[ext_resource type="AudioStream" uid="uid://b8soxqg0jquqg" path="res://Flow State 2.ogg" id="21_7hdkm"]
@ -759,6 +760,35 @@ position = Vector2(1920, 540)
rotation = -1.5708
shape = SubResource("WorldBoundaryShape2D_rmvst")
[node name="PauseButton" type="ColorRect" parent="."]
process_mode = 3
visible = false
z_index = 1000
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_right = 1920.0
offset_bottom = 1080.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 0.466667)
script = ExtResource("16_bto6x")
[node name="Label" type="Label" parent="PauseButton"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_fonts/font = ExtResource("11_s4q6p")
theme_override_font_sizes/font_size = 100
text = "PAUSED"
horizontal_alignment = 1
vertical_alignment = 1
[node name="UI" type="Control" parent="."]
z_index = 10
layout_mode = 3

View file

@ -323,8 +323,8 @@ bus = &"Music"
[connection signal="pressed" from="Layout/Play" to="." method="play"]
[connection signal="pressed" from="Layout/Settings" to="Settings Panel" method="show"]
[connection signal="pressed" from="Layout/Tutorial" to="Tutorial Text" method="show"]
[connection signal="pressed" from="Settings Panel/Close" to="Settings Panel" method="save"]
[connection signal="pressed" from="Settings Panel/Close" to="Settings Panel" method="hide"]
[connection signal="pressed" from="Settings Panel/Close" to="Settings Panel" method="save"]
[connection signal="text_changed" from="Settings Panel/Menu/Username" to="Settings Panel" method="check_valid"]
[connection signal="text_changed" from="Settings Panel/Menu/Username" to="Settings Panel/Menu/Username" method="check"]
[connection signal="value_changed" from="Settings Panel/Menu/MusicVolume" to="Settings Panel/Menu/MusicVolume" method="_on_value_changed"]

11
pause_game.gd Normal file
View file

@ -0,0 +1,11 @@
extends Control
func _input(event):
if event.is_action_pressed("pause"):
get_tree().paused = not get_tree().paused
visible = not visible
if get_tree().paused:
get_parent().paused.emit()
else:
get_parent().unpaused.emit()

View file

@ -10,7 +10,7 @@ func _ready():
absolute_movement = not config.get_value("config", "relative_controls")
func _input(event):
if event.is_action_pressed("jump") and can_jump:
if event.is_action_pressed("primary_fire") and can_jump:
can_jump = false
$"../".get_node("%Ability/Portal").start_countup(0.5)
$Sprite.speed_scale = 1

View file

@ -21,7 +21,7 @@ func update_animation():
$Engine.play("idle")
func _input(event):
if event.is_action_pressed("shoot") and speed != 0:
if event.is_action_pressed("primary_fire") and speed != 0:
fire_laser()
func _process(delta):

View file

@ -20,7 +20,7 @@ func _ready():
absolute_movement = not config.get_value("config", "relative_controls")
func _input(event):
if event.is_action_pressed("quare"):
if event.is_action_pressed("primary_fire"):
if num_quares >= max_quares:
notifier.notify("All Quares in Use!")
return
@ -37,7 +37,7 @@ func _input(event):
new_quare.position = get_global_mouse_position()
$/root/Node2D.add_child(new_quare)
new_quare.name = "Quare"
if event.is_action_pressed("exagon"):
if event.is_action_pressed("secondary_fire"):
if exagons > 1:
exagons = 1
if exagons <= 0:

View file

@ -1,9 +1,8 @@
[gd_scene load_steps=6 format=3 uid="uid://bl3178jc8lq1x"]
[gd_scene load_steps=5 format=3 uid="uid://bl3178jc8lq1x"]
[ext_resource type="PackedScene" uid="uid://d2xigwib6hka4" path="res://quare_ability.tscn" id="1_ttx3n"]
[ext_resource type="Texture2D" uid="uid://dgd2mofq75e01" path="res://portal-icon.png" id="2_2epev"]
[ext_resource type="Shader" uid="uid://c2p7rwspwqmr8" path="res://greyscale.tres" id="2_s8u32"]
[ext_resource type="Texture2D" uid="uid://dux6o222ain2r" path="res://1-Bit Input Prompts Pixel 16/Tiles (White)/prompt_mouse.png" id="4_kefbp"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ia5nv"]
resource_local_to_scene = true
@ -13,10 +12,3 @@ shader_parameter/strength = null
[node name="Portal" instance=ExtResource("1_ttx3n")]
material = SubResource("ShaderMaterial_ia5nv")
texture_under = ExtResource("2_2epev")
[node name="prompt" parent="." index="0"]
offset_left = -20.0
offset_top = 3.0
offset_right = 20.0
offset_bottom = 43.0
texture = ExtResource("4_kefbp")

View file

@ -64,31 +64,28 @@ restart={
"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":82,"key_label":0,"unicode":114,"location":0,"echo":false,"script":null)
]
}
jump={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(130, 40),"global_position":Vector2(138, 120),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":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)
]
}
quare={
"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":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
]
}
exagon={
"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":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null)
]
}
quit={
"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)
]
}
shoot={
primary_fire={
"deadzone": 0.5,
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(91, 32),"global_position":Vector2(99, 112),"factor":1.0,"button_index":1,"canceled":false,"pressed":true,"double_click":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)
, 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":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
]
}
secondary_fire={
"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":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null)
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":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":4194325,"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":80,"key_label":0,"unicode":112,"location":0,"echo":false,"script":null)
]
}

View file

@ -1,10 +1,9 @@
[gd_scene load_steps=8 format=3 uid="uid://d2xigwib6hka4"]
[gd_scene load_steps=7 format=3 uid="uid://d2xigwib6hka4"]
[ext_resource type="Texture2D" uid="uid://ba2tcipuc8rdi" path="res://quare 2.png" id="1_thx02"]
[ext_resource type="Shader" uid="uid://c2p7rwspwqmr8" path="res://greyscale.tres" id="1_unkpb"]
[ext_resource type="Texture2D" uid="uid://barlie6sierj" path="res://square.png" id="2_odtey"]
[ext_resource type="Script" path="res://RechargeProgress.gd" id="3_gufwx"]
[ext_resource type="Texture2D" uid="uid://cqxvhnxgi4k7" path="res://1-Bit Input Prompts Pixel 16/Tiles (White)/tile_0357.png" id="5_isqlk"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5a8v0"]
resource_local_to_scene = true
@ -30,18 +29,3 @@ texture_progress = ExtResource("2_odtey")
texture_progress_offset = Vector2(2.08165e-12, 2.08165e-12)
tint_progress = Color(0, 0, 0, 0.443137)
script = ExtResource("3_gufwx")
[node name="prompt" type="TextureRect" parent="."]
self_modulate = Color(1, 1, 1, 0.552941)
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -17.0
offset_right = 23.0
offset_bottom = 40.0
grow_horizontal = 2
grow_vertical = 0
texture = ExtResource("5_isqlk")