diff --git a/HUD.tscn b/HUD.tscn index e365f1b..fb76cc2 100644 --- a/HUD.tscn +++ b/HUD.tscn @@ -134,7 +134,7 @@ margin_left = 886.0 margin_top = 554.0 margin_right = 1061.0 margin_bottom = 598.0 -text = "New Game" +text = "Start Level" [node name="Quit to Desktop" type="Button" parent="MenuLayer/Start"] margin_left = 887.0 @@ -148,7 +148,7 @@ margin_left = 887.0 margin_top = 609.0 margin_right = 1062.0 margin_bottom = 653.0 -text = "Quit Game" +text = "Restart Level" [node name="MenuMusic" type="AudioStreamPlayer" parent="MenuLayer/Start"] stream = ExtResource( 4 ) @@ -225,6 +225,13 @@ margin_right = -17.0 margin_bottom = 26.0 text = "Master Volume" +[node name="Level" type="Label" parent="MenuLayer/Start"] +margin_left = 546.0 +margin_top = 478.0 +margin_right = 1414.0 +margin_bottom = 526.0 +align = 1 + [connection signal="pressed" from="MenuLayer/Start/New Game" to="MenuLayer/Start" method="_on_New_Game_pressed"] [connection signal="pressed" from="MenuLayer/Start/Quit to Desktop" to="MenuLayer/Start" method="_on_Quit_to_Desktop_Button_pressed"] [connection signal="pressed" from="MenuLayer/Start/Quit Game" to="MenuLayer/Start" method="_on_Quit_Game_pressed"] diff --git a/Levels/Level02.gd b/Levels/Level02.gd new file mode 100644 index 0000000..e64ec5f --- /dev/null +++ b/Levels/Level02.gd @@ -0,0 +1,29 @@ +extends Spatial + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" +var enemycount = 2 +onready var NEXTSCENE = "res://Test_Scene.tscn" + +onready var WinMess = $Messages/Win +onready var EndTimer = $End + +onready var HUD = $"Player/HUD/MenuLayer/Start" +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +func _on_Enemy_dying(): + enemycount -= 1 + if enemycount == 0: + WinMess.show() + EndTimer.start() + HUD.ingame = false + + +func _on_Win_timeout(): + get_tree().change_scene(NEXTSCENE) + diff --git a/Levels/Level02.tscn b/Levels/Level02.tscn new file mode 100644 index 0000000..0a57150 --- /dev/null +++ b/Levels/Level02.tscn @@ -0,0 +1,141 @@ +[gd_scene load_steps=17 format=2] + +[ext_resource path="res://Textures/kenney_prototype_textures/red/texture_01.png" type="Texture" id=1] +[ext_resource path="res://Textures/kenney_prototype_textures/orange/texture_01.png" type="Texture" id=2] +[ext_resource path="res://Scenes/Enemy.tscn" type="PackedScene" id=3] +[ext_resource path="res://Textures/kenney_prototype_textures/green/texture_01.png" type="Texture" id=4] +[ext_resource path="res://Player.tscn" type="PackedScene" id=5] +[ext_resource path="res://AllSkyFree_Skyboxes/Epic_BlueSunset_EquiRect_flat.png" type="Texture" id=6] +[ext_resource path="res://Levels/Level02.gd" type="Script" id=7] +[ext_resource path="res://fonts/TorontoSubwayRegular.ttf" type="DynamicFontData" id=8] + +[sub_resource type="SpatialMaterial" id=1] +albedo_texture = ExtResource( 2 ) + +[sub_resource type="SpatialMaterial" id=2] +albedo_texture = ExtResource( 4 ) + +[sub_resource type="SpatialMaterial" id=3] +albedo_texture = ExtResource( 4 ) + +[sub_resource type="SpatialMaterial" id=4] +albedo_texture = ExtResource( 1 ) + +[sub_resource type="SpatialMaterial" id=5] +albedo_texture = ExtResource( 1 ) + +[sub_resource type="PanoramaSky" id=6] +panorama = ExtResource( 6 ) + +[sub_resource type="Environment" id=7] +background_mode = 2 +background_sky = SubResource( 6 ) +ambient_light_energy = 0.67 +fog_enabled = true +fog_color = Color( 0.305882, 0.372549, 0.52549, 1 ) +fog_sun_color = Color( 0.901961, 0.803922, 0.752941, 1 ) +fog_sun_amount = 1.0 +fog_depth_begin = 98.8 +fog_depth_end = 1444.5 +fog_depth_curve = 0.466516 +fog_transmit_enabled = true +fog_transmit_curve = 0.659754 +fog_height_enabled = true +fog_height_min = 148.2 +fog_height_max = -48.0 +fog_height_curve = 4.59481 +ssao_radius = 8.1 +ssao_intensity = 4.3 +ssao_radius2 = 40.7 +ssao_intensity2 = 14.6 +ssao_bias = 0.059 +ssao_color = Color( 0.180392, 0.207843, 0.25098, 1 ) +glow_enabled = true +glow_intensity = 1.86 +glow_strength = 0.87 +glow_bloom = 0.02 +glow_hdr_threshold = 0.44 +glow_bicubic_upscale = true + +[sub_resource type="DynamicFont" id=8] +size = 64 +outline_size = 4 +outline_color = Color( 0, 0, 0, 1 ) +use_mipmaps = true +use_filter = true +font_data = ExtResource( 8 ) + +[node name="lvl2" type="Spatial"] +script = ExtResource( 7 ) + +[node name="CSGCombiner" type="CSGCombiner" parent="."] +transform = Transform( 1, 0, 0.000244346, 0, 1, 0, -0.000244346, 0, 1, 0, 0, 0 ) +use_collision = true + +[node name="CSGBox" type="CSGBox" parent="CSGCombiner"] +width = 18.2596 +depth = 80.7948 +material = SubResource( 1 ) + +[node name="CSGBox2" type="CSGBox" parent="CSGCombiner"] +transform = Transform( 0.997184, 0, -0.0749961, 0, 1, 0, 0.0749961, 0, 0.997184, 6.91614, 4.27048, -0.0257568 ) +width = 2.86909 +height = 6.65734 +depth = 80.5573 +material = SubResource( 2 ) + +[node name="CSGBox3" type="CSGBox" parent="CSGCombiner"] +transform = Transform( 0.99821, 0, 0.0598116, 0, 1, 0, -0.0598116, 0, 0.99821, -7.83423, 4.01678, 0.380192 ) +width = 2.86909 +height = 6.65734 +depth = 80.5573 +material = SubResource( 3 ) + +[node name="CSGBox4" type="CSGBox" parent="CSGCombiner"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0489336, 2.37517, -39.3407 ) +width = 20.8555 +height = 10.0608 +material = SubResource( 4 ) + +[node name="CSGBox5" type="CSGBox" parent="CSGCombiner"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.3921, -0.351473, -0.361702 ) +height = 15.2222 +material = SubResource( 5 ) + +[node name="Player" parent="." instance=ExtResource( 5 )] +transform = Transform( -0.997569, 0, -0.0696868, 0, 1, 0, 0.0696868, 0, -0.997569, 0.792524, 4.26204, -33.907 ) + +[node name="Enemy" parent="." instance=ExtResource( 3 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.311301, 5.60897, -25.7954 ) + +[node name="Enemy2" parent="." instance=ExtResource( 3 )] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.950571, 4.64411, 34.8337 ) + +[node name="WorldEnvironment_EpicBlueSky" type="WorldEnvironment" parent="."] +environment = SubResource( 7 ) + +[node name="DirectionalLight_EpicBlueSky" type="DirectionalLight" parent="."] +transform = Transform( 1, 0, 0, 0, 0.849579, 0.527461, 0, -0.527461, 0.849579, 0, 26.5368, 0 ) +light_color = Color( 1, 0.924276, 0.869018, 1 ) +light_specular = 1.0 +shadow_enabled = true + +[node name="Messages" type="Control" parent="."] +margin_right = 40.0 +margin_bottom = 40.0 + +[node name="Win" type="Label" parent="Messages"] +visible = false +margin_left = 775.0 +margin_top = 469.0 +margin_right = 1187.0 +margin_bottom = 627.0 +custom_fonts/font = SubResource( 8 ) +text = "You're Winner!" + +[node name="End" type="Timer" parent="."] +wait_time = 3.0 + +[connection signal="dying" from="Enemy" to="." method="_on_Enemy_dying"] +[connection signal="dying" from="Enemy2" to="." method="_on_Enemy_dying"] +[connection signal="timeout" from="End" to="." method="_on_Win_timeout"] diff --git a/Options.gd b/Options.gd index ba02ab2..b0469ff 100644 --- a/Options.gd +++ b/Options.gd @@ -22,14 +22,14 @@ onready var MasterBus := AudioServer.get_bus_index(MasterBusName) # Called when the node enters the scene tree for the first time. func _ready(): - MouseSensSlider.value = get_node("/root/Spatial/Player").mouse_sensitivity + MouseSensSlider.value = get_tree().get_current_scene().get_node("Player").mouse_sensitivity SFXVol.value = db2linear(AudioServer.get_bus_volume_db(SFXBus)) MusicVol.value = db2linear(AudioServer.get_bus_volume_db(MusicBus)) MasterVol.value = db2linear(AudioServer.get_bus_volume_db(MasterBus)) func _on_MouseSensSlider_value_changed(value): - get_node("/root/Spatial/Player").mouse_sensitivity = value + get_tree().get_current_scene().get_node("Player").mouse_sensitivity = value func _on_SFXSlider_value_changed(value): diff --git a/Scenes/Enemy.tscn b/Scenes/Enemy.tscn index b988022..1520f55 100644 --- a/Scenes/Enemy.tscn +++ b/Scenes/Enemy.tscn @@ -1,10 +1,9 @@ -[gd_scene load_steps=16 format=2] +[gd_scene load_steps=15 format=2] [ext_resource path="res://Scripts/HitBox.gd" type="Script" id=1] [ext_resource path="res://Scenes/Enemy.gd" type="Script" id=2] [ext_resource path="res://Scripts/HurtBox.gd" type="Script" id=3] [ext_resource path="res://Materials/Ball_Mat.tres" type="Material" id=4] -[ext_resource path="res://Materials/Black_Contour.tres" type="Material" id=5] [ext_resource path="res://Audio/boom.wav" type="AudioStream" id=7] [ext_resource path="res://Audio/80-s-clap.wav" type="AudioStream" id=8] [ext_resource path="res://Audio/MegaSlap.wav" type="AudioStream" id=9] @@ -18,7 +17,6 @@ [sub_resource type="SphereShape" id=9] [sub_resource type="SpatialMaterial" id=13] -next_pass = ExtResource( 5 ) params_billboard_mode = 3 particles_anim_h_frames = 1 particles_anim_v_frames = 1 diff --git a/Start.gd b/Start.gd index 8373d89..0bbbd4f 100644 --- a/Start.gd +++ b/Start.gd @@ -5,14 +5,22 @@ onready var NewGame = $"New Game" onready var QuitGame = $"Quit Game" onready var QuitDesktop = $"Quit to Desktop" onready var MMusic = $"MenuMusic" +onready var CurrentLevel = $"Level" + +onready var Levels = { + "lvl2": "Level 2 - Ricocheting", + "Spatial" : "I am Error.", + "" : "I also am Error." + } func _ready(): - MMusic.play() - get_parent().show() - get_tree().paused = true + CurrentLevel.text = Levels[get_tree().get_current_scene().get_name()] QuitGame.hide() QuitDesktop.margin_top -= 44 QuitDesktop.margin_bottom -= 44 + MMusic.play() + get_parent().show() + get_tree().paused = true Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) func _on_Quit_to_Desktop_Button_pressed(): @@ -36,7 +44,11 @@ func openMenu(): get_parent().show() get_tree().paused = true Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) + func _on_Quit_Game_pressed(): get_tree().reload_current_scene() - get_tree().paused = true + + + + diff --git a/project.godot b/project.godot index 0c69dc5..4792279 100644 --- a/project.godot +++ b/project.godot @@ -34,6 +34,9 @@ config/icon="res://icon.png" window/size/width=1920 window/size/height=1080 +window/size/fullscreen=true +window/size/test_width=1280 +window/size/test_height=720 window/stretch/mode="viewport" window/stretch/aspect="keep"