new level
This commit is contained in:
parent
25229a3757
commit
e8c2998626
12 changed files with 314 additions and 31 deletions
124
Level_Labyrinth.tscn
Normal file
124
Level_Labyrinth.tscn
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
[gd_scene load_steps=16 format=3 uid="uid://vx8amdj4s586"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cb2ob5t0phqot" path="res://main_l2.gd" id="1_4fas2"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://bs6yq6gy7k2sb" path="res://player.tscn" id="2_r0elk"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://csg0b0d5pmx2m" path="res://InstrumentSerif-Italic.ttf" id="3_nngep"]
|
||||||
|
[ext_resource type="FontFile" uid="uid://dsgbhej3kmxkm" path="res://InstrumentSans-Italic-VariableFont_wdth,wght.ttf" id="4_758px"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://daoyebc0vm7sd" path="res://pause_menu.tscn" id="5_mnf3s"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://d15530ei26qvv" path="res://addons/kenney_prototype_textures/purple/texture_02.png" id="6_3xop5"]
|
||||||
|
[ext_resource type="Shape3D" uid="uid://ck3ryefc358gp" path="res://wall_ncwt.tres" id="7_tb2wo"]
|
||||||
|
|
||||||
|
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_rv2mx"]
|
||||||
|
sky_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
|
||||||
|
ground_horizon_color = Color(0.662243, 0.671743, 0.686743, 1)
|
||||||
|
|
||||||
|
[sub_resource type="Sky" id="Sky_lsi31"]
|
||||||
|
sky_material = SubResource("ProceduralSkyMaterial_rv2mx")
|
||||||
|
|
||||||
|
[sub_resource type="Environment" id="Environment_fq2vn"]
|
||||||
|
background_mode = 1
|
||||||
|
background_color = Color(0.592153, 0.439631, 0.851984, 1)
|
||||||
|
sky = SubResource("Sky_lsi31")
|
||||||
|
tonemap_mode = 2
|
||||||
|
glow_enabled = true
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_qbfpe"]
|
||||||
|
font = ExtResource("3_nngep")
|
||||||
|
font_size = 75
|
||||||
|
font_color = Color(0.941176, 0.788235, 0.996078, 1)
|
||||||
|
outline_size = 10
|
||||||
|
outline_color = Color(0, 0, 0, 1)
|
||||||
|
shadow_size = 16
|
||||||
|
shadow_color = Color(0.180005, 0.180005, 0.180005, 0.647059)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_27422"]
|
||||||
|
font = ExtResource("4_758px")
|
||||||
|
font_size = 22
|
||||||
|
outline_size = 4
|
||||||
|
outline_color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_2uy0w"]
|
||||||
|
font = ExtResource("4_758px")
|
||||||
|
font_size = 38
|
||||||
|
outline_size = 4
|
||||||
|
outline_color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qyexb"]
|
||||||
|
albedo_texture = ExtResource("6_3xop5")
|
||||||
|
|
||||||
|
[sub_resource type="PlaneMesh" id="PlaneMesh_ulki5"]
|
||||||
|
size = Vector2(10, 10)
|
||||||
|
|
||||||
|
[node name="LevelCore" type="Node3D"]
|
||||||
|
script = ExtResource("1_4fas2")
|
||||||
|
|
||||||
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
|
environment = SubResource("Environment_fq2vn")
|
||||||
|
|
||||||
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||||
|
transform = Transform3D(-0.866023, -0.433016, 0.250001, 0, 0.499998, 0.866027, -0.500003, 0.749999, -0.43301, 0, 0, 0)
|
||||||
|
shadow_enabled = true
|
||||||
|
|
||||||
|
[node name="Player" parent="." instance=ExtResource("2_r0elk")]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||||
|
top_level = true
|
||||||
|
linear_damp = 3.0
|
||||||
|
|
||||||
|
[node name="HUD" type="MarginContainer" parent="."]
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_constants/margin_left = 50
|
||||||
|
theme_override_constants/margin_top = 50
|
||||||
|
theme_override_constants/margin_right = 50
|
||||||
|
theme_override_constants/margin_bottom = 50
|
||||||
|
|
||||||
|
[node name="HBoxContainer" type="HBoxContainer" parent="HUD"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="HUD/HBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label_Station" type="Label" parent="HUD/HBoxContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "ERROR LOADING"
|
||||||
|
label_settings = SubResource("LabelSettings_qbfpe")
|
||||||
|
|
||||||
|
[node name="Label_Controls" type="Label" parent="HUD/HBoxContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 1
|
||||||
|
text = "esc - pause
|
||||||
|
shift+r - back to checkpoint
|
||||||
|
f5 - restart level"
|
||||||
|
label_settings = SubResource("LabelSettings_27422")
|
||||||
|
|
||||||
|
[node name="Label_Controls2" type="Label" parent="HUD/HBoxContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "if you see this, the game failed to load the code correctly.
|
||||||
|
in this case, please restart the game"
|
||||||
|
label_settings = SubResource("LabelSettings_27422")
|
||||||
|
|
||||||
|
[node name="HBoxContainer2" type="HBoxContainer" parent="HUD"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label_Health" type="Label" parent="HUD/HBoxContainer2"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 8
|
||||||
|
text = "[||||||||||]"
|
||||||
|
label_settings = SubResource("LabelSettings_2uy0w")
|
||||||
|
vertical_alignment = 2
|
||||||
|
|
||||||
|
[node name="PauseMenu" parent="." instance=ExtResource("5_mnf3s")]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
|
material_override = SubResource("StandardMaterial3D_qyexb")
|
||||||
|
mesh = SubResource("PlaneMesh_ulki5")
|
||||||
|
|
||||||
|
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
|
||||||
|
shape = ExtResource("7_tb2wo")
|
1
assets/icons/extension.svg
Normal file
1
assets/icons/extension.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px" fill="#e3e3e3"><path d="M352-120H200q-33 0-56.5-23.5T120-200v-152q48 0 84-30.5t36-77.5q0-47-36-77.5T120-568v-152q0-33 23.5-56.5T200-800h160q0-42 29-71t71-29q42 0 71 29t29 71h160q33 0 56.5 23.5T800-720v160q42 0 71 29t29 71q0 42-29 71t-71 29v160q0 33-23.5 56.5T720-120H568q0-50-31.5-85T460-240q-45 0-76.5 35T352-120Z"/></svg>
|
After Width: | Height: | Size: 415 B |
37
assets/icons/extension.svg.import
Normal file
37
assets/icons/extension.svg.import
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://brso5ro5k1tri"
|
||||||
|
path="res://.godot/imported/extension.svg-17fdfaa0398c3dc0122f66da9049a8a9.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://assets/icons/extension.svg"
|
||||||
|
dest_files=["res://.godot/imported/extension.svg-17fdfaa0398c3dc0122f66da9049a8a9.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
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
|
@ -2,6 +2,9 @@ extends VBoxContainer
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$bLEVEL1.pressed.connect(_LEVEL1)
|
$bLEVEL1.pressed.connect(_LEVEL1)
|
||||||
|
$bLEVEL2.pressed.connect(_LEVEL2)
|
||||||
|
|
||||||
func _LEVEL1():
|
func _LEVEL1():
|
||||||
get_tree().change_scene_to_file("res://Level_Core.tscn")
|
get_tree().change_scene_to_file("res://Level_Core.tscn")
|
||||||
|
func _LEVEL2():
|
||||||
|
get_tree().change_scene_to_file("res://Level_Labyrinth.tscn")
|
||||||
|
|
8
main.gd
8
main.gd
|
@ -1,6 +1,7 @@
|
||||||
# Do not change those values
|
# Do not change those values
|
||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
|
#region DO NOT CHANGE
|
||||||
var paused = false
|
var paused = false
|
||||||
@onready var pause_menu = $PauseMenu
|
@onready var pause_menu = $PauseMenu
|
||||||
var checkpoint = checkpoint0
|
var checkpoint = checkpoint0
|
||||||
|
@ -10,6 +11,7 @@ var checkpoint = checkpoint0
|
||||||
var time_accum = 0.0 # Timer accumulator
|
var time_accum = 0.0 # Timer accumulator
|
||||||
var elapsed_time := 0.0
|
var elapsed_time := 0.0
|
||||||
var restart_count = 0
|
var restart_count = 0
|
||||||
|
#endregion
|
||||||
|
|
||||||
var checkpoint0 = Vector3(0, 2, 1.374)
|
var checkpoint0 = Vector3(0, 2, 1.374)
|
||||||
var checkpoint1 = Vector3(-27.5, 13, 12.5)
|
var checkpoint1 = Vector3(-27.5, 13, 12.5)
|
||||||
|
@ -17,9 +19,11 @@ var checkpoint2 = Vector3(0, 22, 1.374)
|
||||||
var checkpoint3 = Vector3(-50, 25, -5)
|
var checkpoint3 = Vector3(-50, 25, -5)
|
||||||
var terminus = Vector3(-8, -8.5, 9.5)
|
var terminus = Vector3(-8, -8.5, 9.5)
|
||||||
|
|
||||||
|
#region DO NOT TOUCH
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
# var player = get_node("%Player")
|
# var player = get_node("%Player")
|
||||||
checkpointtext.text = "station 0"
|
checkpointtext.text = "station 0"
|
||||||
|
# checkpointtext.text = startmenu.stringing
|
||||||
# while true:
|
# while true:
|
||||||
# wait(5)
|
# wait(5)
|
||||||
# print(player.checkpoint)
|
# print(player.checkpoint)
|
||||||
|
@ -42,7 +46,6 @@ func _process(delta: float):
|
||||||
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
pauseMenu()
|
pauseMenu()
|
||||||
elif Input.is_action_just_pressed("proluz_ui_respawn"):
|
elif Input.is_action_just_pressed("proluz_ui_respawn"):
|
||||||
var player = get_node("Player")
|
|
||||||
player.teleport_to_checkpoint()
|
player.teleport_to_checkpoint()
|
||||||
player.health = 100
|
player.health = 100
|
||||||
Engine.time_scale = 1
|
Engine.time_scale = 1
|
||||||
|
@ -51,7 +54,6 @@ func _process(delta: float):
|
||||||
restart_count = restart_count + 1
|
restart_count = restart_count + 1
|
||||||
elif Input.is_action_just_pressed("proluz_ui_reset"):
|
elif Input.is_action_just_pressed("proluz_ui_reset"):
|
||||||
get_tree().reload_current_scene()
|
get_tree().reload_current_scene()
|
||||||
var player = get_node("Player")
|
|
||||||
$HUD/HBoxContainer/VBoxContainer/Label_Controls2.text = get_formatted_time()
|
$HUD/HBoxContainer/VBoxContainer/Label_Controls2.text = get_formatted_time()
|
||||||
# Health bar
|
# Health bar
|
||||||
if player.health == 100:
|
if player.health == 100:
|
||||||
|
@ -91,7 +93,7 @@ func _process(delta: float):
|
||||||
healthtext.text = "[··········][DEAD/Shift+R to revive]"
|
healthtext.text = "[··········][DEAD/Shift+R to revive]"
|
||||||
healthtext.add_theme_color_override("font_color", Color.MEDIUM_PURPLE)
|
healthtext.add_theme_color_override("font_color", Color.MEDIUM_PURPLE)
|
||||||
Engine.time_scale = 0.001
|
Engine.time_scale = 0.001
|
||||||
|
#endregion
|
||||||
|
|
||||||
func get_formatted_time() -> String:
|
func get_formatted_time() -> String:
|
||||||
var total_milliseconds = int(elapsed_time * 1000)
|
var total_milliseconds = int(elapsed_time * 1000)
|
||||||
|
|
113
main_l2.gd
Normal file
113
main_l2.gd
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
# Do not change those values
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
|
var paused = false
|
||||||
|
@onready var pause_menu = $PauseMenu
|
||||||
|
var checkpoint = checkpoint0
|
||||||
|
@onready var healthtext = $HUD/HBoxContainer2/Label_Health
|
||||||
|
@onready var checkpointtext = $HUD/HBoxContainer/VBoxContainer/Label_Station
|
||||||
|
@onready var player = get_node("Player")
|
||||||
|
var time_accum = 0.0 # Timer accumulator
|
||||||
|
var elapsed_time := 0.0
|
||||||
|
var restart_count = 0
|
||||||
|
|
||||||
|
var checkpoint0 = Vector3(0, 1.5, 0)
|
||||||
|
var checkpoint1 = Vector3(-27.5, 13, 12.5)
|
||||||
|
var checkpoint2 = Vector3(0, 22, 1.374)
|
||||||
|
var checkpoint3 = Vector3(-50, 25, -5)
|
||||||
|
var terminus = Vector3(-8, -8.5, 9.5)
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
# var player = get_node("%Player")
|
||||||
|
checkpointtext.text = "station 0"
|
||||||
|
# while true:
|
||||||
|
# wait(5)
|
||||||
|
# print(player.checkpoint)
|
||||||
|
|
||||||
|
|
||||||
|
# DEBUG SECTION: Testing whether checkpoint value is accessible by printing it every 4 seconds
|
||||||
|
#func _process(delta: float) -> void:
|
||||||
|
# var player = get_node("Player")
|
||||||
|
# time_accum += delta
|
||||||
|
# if time_accum >= 4.0:
|
||||||
|
# print("Checkpoint:", player.checkpoint)
|
||||||
|
# time_accum = 0.0
|
||||||
|
|
||||||
|
func wait(seconds: float) -> void:
|
||||||
|
await get_tree().create_timer(seconds).timeout
|
||||||
|
|
||||||
|
func _process(delta: float):
|
||||||
|
elapsed_time += delta
|
||||||
|
if Input.is_action_just_pressed("ui_cancel"):
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
|
||||||
|
pauseMenu()
|
||||||
|
elif Input.is_action_just_pressed("proluz_ui_respawn"):
|
||||||
|
var player = get_node("Player")
|
||||||
|
player.teleport_to_checkpoint()
|
||||||
|
player.health = 100
|
||||||
|
Engine.time_scale = 1
|
||||||
|
player.audioplayer.stream = load("res://assets/audio/Revive.wav")
|
||||||
|
player.audioplayer.play()
|
||||||
|
restart_count = restart_count + 1
|
||||||
|
elif Input.is_action_just_pressed("proluz_ui_reset"):
|
||||||
|
get_tree().reload_current_scene()
|
||||||
|
var player = get_node("Player")
|
||||||
|
$HUD/HBoxContainer/VBoxContainer/Label_Controls2.text = get_formatted_time()
|
||||||
|
# Health bar
|
||||||
|
if player.health == 100:
|
||||||
|
healthtext.text = "[//////////]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN)
|
||||||
|
elif player.health >= 90:
|
||||||
|
healthtext.text = "[/////////·]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN)
|
||||||
|
elif player.health >= 80:
|
||||||
|
healthtext.text = "[////////··]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN)
|
||||||
|
elif player.health >= 70:
|
||||||
|
healthtext.text = "[///////···]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN)
|
||||||
|
elif player.health >= 60:
|
||||||
|
healthtext.text = "[//////····]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN_YELLOW)
|
||||||
|
elif player.health >= 50:
|
||||||
|
healthtext.text = "[/////·····]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.GREEN_YELLOW)
|
||||||
|
elif player.health >= 40:
|
||||||
|
healthtext.text = "[////······]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.YELLOW)
|
||||||
|
elif player.health >= 30:
|
||||||
|
healthtext.text = "[///·······]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.YELLOW)
|
||||||
|
elif player.health >= 20:
|
||||||
|
healthtext.text = "[//········]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.YELLOW)
|
||||||
|
elif player.health >= 10:
|
||||||
|
healthtext.text = "[/·········]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.INDIAN_RED)
|
||||||
|
elif player.health >= 1:
|
||||||
|
healthtext.text = "[|·········][CRITICAL]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.RED)
|
||||||
|
elif player.health == 0:
|
||||||
|
healthtext.text = "[··········][DEAD/Shift+R to revive]"
|
||||||
|
healthtext.add_theme_color_override("font_color", Color.MEDIUM_PURPLE)
|
||||||
|
Engine.time_scale = 0.001
|
||||||
|
|
||||||
|
|
||||||
|
func get_formatted_time() -> String:
|
||||||
|
var total_milliseconds = int(elapsed_time * 1000)
|
||||||
|
var minutes = total_milliseconds / 60000
|
||||||
|
var seconds = (total_milliseconds % 60000) / 1000
|
||||||
|
var milliseconds = total_milliseconds % 1000
|
||||||
|
return "time: %02d:%02d.%03d" % [minutes, seconds, milliseconds]
|
||||||
|
|
||||||
|
func pauseMenu():
|
||||||
|
if paused:
|
||||||
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
|
pause_menu.hide()
|
||||||
|
Engine.time_scale = 1
|
||||||
|
else:
|
||||||
|
pause_menu.show()
|
||||||
|
Engine.time_scale = 0.00001
|
||||||
|
# Engine.time_scale = -1
|
||||||
|
|
||||||
|
paused = !paused
|
1
main_l2.gd.uid
Normal file
1
main_l2.gd.uid
Normal file
|
@ -0,0 +1 @@
|
||||||
|
uid://cb2ob5t0phqot
|
|
@ -91,6 +91,6 @@ layout_mode = 2
|
||||||
size_flags_horizontal = 8
|
size_flags_horizontal = 8
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
|
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ResumeButton" to="." method="_on_button_pressed"]
|
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ResumeButton" to="." method="_on_resume_button_pressed"]
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/ResumeButton" to="." method="_on_resume_button_pressed"]
|
||||||
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/ResumeButton" to="." method="_on_button_pressed"]
|
||||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/ExitButton" to="." method="_on_exit_button_pressed"]
|
[connection signal="pressed" from="MarginContainer/VBoxContainer/ExitButton" to="." method="_on_exit_button_pressed"]
|
||||||
|
|
27
player.gd
27
player.gd
|
@ -11,13 +11,16 @@ var pitch_input := 0.0
|
||||||
@onready var audioplayer = get_node("AudioStreamPlayer3D")
|
@onready var audioplayer = get_node("AudioStreamPlayer3D")
|
||||||
@onready var twist_pivot := $TwistPivot
|
@onready var twist_pivot := $TwistPivot
|
||||||
@onready var pitch_pivot := $TwistPivot/PitchPivot
|
@onready var pitch_pivot := $TwistPivot/PitchPivot
|
||||||
|
@onready var currentscene = get_tree().current_scene
|
||||||
|
#@onready var levelcore = currentscene.get_path()
|
||||||
@onready var levelcore = get_node("/root/LevelCore")
|
@onready var levelcore = get_node("/root/LevelCore")
|
||||||
|
#@onready var startmenu = get_node("/root/start/inGameUI")
|
||||||
var checkpoint: Vector3
|
var checkpoint: Vector3
|
||||||
|
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||||
checkpoint = levelcore.checkpoint0
|
checkpoint = levelcore.checkpoint0
|
||||||
|
# checkpoint = levelcore.checkpoint0
|
||||||
# while not get_node_or_null("/Level_Core/LevelCore"):
|
# while not get_node_or_null("/Level_Core/LevelCore"):
|
||||||
# await get_tree().process_frame # Yield until the next frame
|
# await get_tree().process_frame # Yield until the next frame
|
||||||
# levelcore = get_node("/Level_Core/LevelCore")
|
# levelcore = get_node("/Level_Core/LevelCore")
|
||||||
|
@ -45,38 +48,34 @@ func _integrate_forces(state):
|
||||||
if collider is StaticBody3D and collider.name == "StaticBody3D_S1":
|
if collider is StaticBody3D and collider.name == "StaticBody3D_S1":
|
||||||
#checkpoint = levelcore.checkpoint1
|
#checkpoint = levelcore.checkpoint1
|
||||||
print("chat we hit the checkpoint one")
|
print("chat we hit the checkpoint one")
|
||||||
levelcore = get_node("/root/LevelCore")
|
# levelcore = get_node("/root/LevelCore")
|
||||||
if not levelcore.checkpoint == levelcore.checkpoint1:
|
if not checkpoint == levelcore.checkpoint1:
|
||||||
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
||||||
audioplayer.play()
|
audioplayer.play()
|
||||||
levelcore.checkpoint = levelcore.checkpoint1
|
checkpoint = levelcore.checkpoint1
|
||||||
levelcore.checkpointtext.text = "station 1"
|
levelcore.checkpointtext.text = "station 1"
|
||||||
|
|
||||||
elif collider is StaticBody3D and collider.name == "StaticBody3D_S2":
|
elif collider is StaticBody3D and collider.name == "StaticBody3D_S2":
|
||||||
print("chat we hit the checkpoint two")
|
print("chat we hit the checkpoint two")
|
||||||
levelcore = get_node("/root/LevelCore")
|
if not checkpoint == levelcore.checkpoint2:
|
||||||
if not levelcore.checkpoint == levelcore.checkpoint2:
|
|
||||||
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
||||||
audioplayer.play()
|
audioplayer.play()
|
||||||
levelcore.checkpoint = levelcore.checkpoint2
|
checkpoint = levelcore.checkpoint2
|
||||||
levelcore.checkpointtext.text = "station 2"
|
levelcore.checkpointtext.text = "station 2"
|
||||||
|
|
||||||
elif collider is StaticBody3D and collider.name == "StaticBody3D_S3":
|
elif collider is StaticBody3D and collider.name == "StaticBody3D_S3":
|
||||||
print("chat we hit the checkpoint three")
|
if not checkpoint == levelcore.checkpoint3:
|
||||||
levelcore = get_node("/root/LevelCore")
|
|
||||||
if not levelcore.checkpoint == levelcore.checkpoint3:
|
|
||||||
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
audioplayer.stream = load("res://assets/audio/SceneSpawn.wav")
|
||||||
audioplayer.play()
|
audioplayer.play()
|
||||||
levelcore.checkpoint = levelcore.checkpoint3
|
checkpoint = levelcore.checkpoint3
|
||||||
levelcore.checkpointtext.text = "station 3"
|
levelcore.checkpointtext.text = "station 3"
|
||||||
|
|
||||||
elif collider is StaticBody3D and collider.name == "StaticBody3D_T":
|
elif collider is StaticBody3D and collider.name == "StaticBody3D_T":
|
||||||
print("chat we hit the end")
|
print("chat we hit the end")
|
||||||
levelcore = get_node("/root/LevelCore")
|
if not checkpoint == levelcore.terminus:
|
||||||
if not levelcore.checkpoint == levelcore.terminus:
|
|
||||||
audioplayer.stream = load("res://assets/audio/WinTada.wav")
|
audioplayer.stream = load("res://assets/audio/WinTada.wav")
|
||||||
audioplayer.play()
|
audioplayer.play()
|
||||||
levelcore.checkpoint = levelcore.terminus
|
checkpoint = levelcore.terminus
|
||||||
levelcore.checkpointtext.text = "terminus"
|
levelcore.checkpointtext.text = "terminus"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ config/name_localized={
|
||||||
run/main_scene="res://start.tscn"
|
run/main_scene="res://start.tscn"
|
||||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||||
boot_splash/bg_color=Color(0.14902, 0, 0.258824, 1)
|
boot_splash/bg_color=Color(0.14902, 0, 0.258824, 1)
|
||||||
boot_splash/image="uid://doatkgfq3rm5i"
|
boot_splash/image="uid://i0wvqo27diby"
|
||||||
config/icon="uid://fad7xr2jj2nu"
|
config/icon="uid://fad7xr2jj2nu"
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
1
start.gd
1
start.gd
|
@ -4,6 +4,7 @@ extends Control
|
||||||
@onready var quit_button = get_node("TextureRect/MarginContainer/HBoxContainer/VBoxContainer/QuitButton")
|
@onready var quit_button = get_node("TextureRect/MarginContainer/HBoxContainer/VBoxContainer/QuitButton")
|
||||||
@onready var levellist = $TextureRect/MarginContainer/HBoxContainer/LevelList
|
@onready var levellist = $TextureRect/MarginContainer/HBoxContainer/LevelList
|
||||||
var playbutton = false
|
var playbutton = false
|
||||||
|
var stringing = "hi"
|
||||||
|
|
||||||
func main():
|
func main():
|
||||||
print("Hey!")
|
print("Hey!")
|
||||||
|
|
26
start.tscn
26
start.tscn
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=13 format=3 uid="uid://bciy4rskxlowb"]
|
[gd_scene load_steps=14 format=3 uid="uid://bciy4rskxlowb"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://t2iw8p1c6rq3" path="res://start.gd" id="1_g38d0"]
|
[ext_resource type="Script" uid="uid://t2iw8p1c6rq3" path="res://start.gd" id="1_g38d0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cm58nw8150cah" path="res://proluzbg.png" id="2_g38d0"]
|
[ext_resource type="Texture2D" uid="uid://cm58nw8150cah" path="res://proluzbg.png" id="2_g38d0"]
|
||||||
|
@ -7,6 +7,7 @@
|
||||||
[ext_resource type="FontFile" uid="uid://cfk3fgwuhngcw" path="res://InstrumentSans-VariableFont_wdth,wght.ttf" id="5_da165"]
|
[ext_resource type="FontFile" uid="uid://cfk3fgwuhngcw" path="res://InstrumentSans-VariableFont_wdth,wght.ttf" id="5_da165"]
|
||||||
[ext_resource type="Script" uid="uid://8qg8pk1kg1hf" path="res://level_list.gd" id="6_g38d0"]
|
[ext_resource type="Script" uid="uid://8qg8pk1kg1hf" path="res://level_list.gd" id="6_g38d0"]
|
||||||
[ext_resource type="Texture2D" uid="uid://catqff7wmtny0" path="res://assets/icons/learning.svg" id="7_pob1m"]
|
[ext_resource type="Texture2D" uid="uid://catqff7wmtny0" path="res://assets/icons/learning.svg" id="7_pob1m"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://brso5ro5k1tri" path="res://assets/icons/extension.svg" id="8_gophc"]
|
||||||
[ext_resource type="Texture2D" uid="uid://clnhbd4dggxmo" path="res://ProjektLuzidLogo.svg" id="8_pob1m"]
|
[ext_resource type="Texture2D" uid="uid://clnhbd4dggxmo" path="res://ProjektLuzidLogo.svg" id="8_pob1m"]
|
||||||
|
|
||||||
[sub_resource type="FontFile" id="FontFile_db7xr"]
|
[sub_resource type="FontFile" id="FontFile_db7xr"]
|
||||||
|
@ -126,14 +127,14 @@ layout_mode = 2
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="TextureRect/MarginContainer/HBoxContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="TextureRect/MarginContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 2
|
size_flags_horizontal = 3
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 0
|
||||||
|
|
||||||
[node name="TextureRect" type="TextureRect" parent="TextureRect/MarginContainer/HBoxContainer/VBoxContainer"]
|
[node name="TextureRect" type="TextureRect" parent="TextureRect/MarginContainer/HBoxContainer/VBoxContainer"]
|
||||||
|
custom_minimum_size = Vector2(29, 37)
|
||||||
layout_direction = 2
|
layout_direction = 2
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 0
|
size_flags_vertical = 4
|
||||||
size_flags_vertical = 0
|
|
||||||
texture = ExtResource("3_gophc")
|
texture = ExtResource("3_gophc")
|
||||||
stretch_mode = 2
|
stretch_mode = 2
|
||||||
|
|
||||||
|
@ -175,13 +176,13 @@ alignment = 0
|
||||||
[node name="LevelList" type="VBoxContainer" parent="TextureRect/MarginContainer/HBoxContainer"]
|
[node name="LevelList" type="VBoxContainer" parent="TextureRect/MarginContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_horizontal = 3
|
size_flags_horizontal = 3
|
||||||
|
size_flags_vertical = 8
|
||||||
alignment = 1
|
alignment = 1
|
||||||
script = ExtResource("6_g38d0")
|
script = ExtResource("6_g38d0")
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
[node name="Label" type="Label" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "Notes and bugs:"
|
text = "Core layer"
|
||||||
label_settings = SubResource("LabelSettings_onc8m")
|
label_settings = SubResource("LabelSettings_onc8m")
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
|
|
||||||
|
@ -196,20 +197,21 @@ horizontal_alignment = 2
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
theme_override_fonts/font = ExtResource("5_da165")
|
theme_override_fonts/font = ExtResource("5_da165")
|
||||||
text = "Level: Tutorial
|
text = "Tutorial"
|
||||||
Layer: Core"
|
|
||||||
icon = ExtResource("7_pob1m")
|
icon = ExtResource("7_pob1m")
|
||||||
alignment = 0
|
alignment = 0
|
||||||
icon_alignment = 2
|
icon_alignment = 2
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
[node name="bLEVEL2" type="Button" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
[node name="bLEVEL2" type="Button" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
||||||
visible = false
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
size_flags_vertical = 4
|
size_flags_vertical = 4
|
||||||
theme_override_fonts/font = ExtResource("5_da165")
|
theme_override_fonts/font = ExtResource("5_da165")
|
||||||
text = "Level: Labyrinth
|
text = "Labyrinth"
|
||||||
Layer: Core"
|
icon = ExtResource("8_gophc")
|
||||||
alignment = 0
|
alignment = 0
|
||||||
|
icon_alignment = 2
|
||||||
|
expand_icon = true
|
||||||
|
|
||||||
[node name="bLEVEL3" type="Button" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
[node name="bLEVEL3" type="Button" parent="TextureRect/MarginContainer/HBoxContainer/LevelList"]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue