From 2f8bbe57e24fccf9105169a16c4d22eb962d4c5a Mon Sep 17 00:00:00 2001 From: akshay Date: Sat, 20 Aug 2022 16:03:13 -0400 Subject: [PATCH] Added exit trigger in rover game so you can leave before the timer runs out --- project.godot | 1 + scenes/main.tscn | 1 - scenes/player.tscn | 2 +- scenes/rover.tscn | 16 +++++++++++++++- scenes/rover_game.tscn | 30 +++++++++++++++++++----------- scripts/rover.gd | 4 ++++ scripts/rover_game.gd | 4 +++- 7 files changed, 43 insertions(+), 15 deletions(-) diff --git a/project.godot b/project.godot index 9c646b6..c322b71 100644 --- a/project.godot +++ b/project.godot @@ -201,6 +201,7 @@ pause_game={ 3d_physics/layer_4="Interactable" 3d_physics/layer_5="Camera Zone" 3d_physics/layer_6="Rock" +3d_physics/layer_7="Rover Exit" [physics] diff --git a/scenes/main.tscn b/scenes/main.tscn index 36c3c8f..db850bc 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -396,7 +396,6 @@ transform = Transform( 1, 6.98492e-10, -8.19564e-08, -1.45519e-09, 1, 5.78439e-1 transform = Transform( -0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, -0.707107, -11, 0, 11 ) [node name="rover_station" parent="Rover_Room" instance=ExtResource( 21 )] -start_broken = true [node name="CanvasLayer" type="CanvasLayer" parent="."] pause_mode = 1 diff --git a/scenes/player.tscn b/scenes/player.tscn index 95da90f..2691b97 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -714,7 +714,7 @@ mesh = SubResource( 1 ) skin = SubResource( 2 ) [node name="head_bone" type="BoneAttachment" parent="model_transform/DungMan/Armature/Skeleton" index="1"] -transform = Transform( 1, -2.22118e-16, -9.47951e-19, -2.04242e-19, -0.00518723, 0.999986, -2.2212e-16, -0.999986, -0.00518723, -3.33247e-16, 0.00719897, -1.50005 ) +transform = Transform( 1, -2.19553e-16, 3.12257e-17, 1.20139e-18, 0.146168, 0.98926, -2.21759e-16, -0.98926, 0.146168, -3.30075e-16, -0.0808508, -1.51061 ) bone_name = "Item" [node name="ItemSpawn" type="Spatial" parent="model_transform/DungMan/Armature/Skeleton/head_bone"] diff --git a/scenes/rover.tscn b/scenes/rover.tscn index 36ea034..4738bde 100644 --- a/scenes/rover.tscn +++ b/scenes/rover.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=6 format=2] [ext_resource path="res://scripts/rover.gd" type="Script" id=1] [ext_resource path="res://assets/moon_buggy/Beetle IX.tscn" type="PackedScene" id=2] @@ -9,6 +9,9 @@ radius = 2.98085 [sub_resource type="BoxShape" id=9] extents = Vector3( 2.90757, 1, 2.12399 ) +[sub_resource type="BoxShape" id=14] +extents = Vector3( 1.87657, 1, 1 ) + [node name="rover" type="RigidBody"] can_sleep = false axis_lock_linear_y = true @@ -38,3 +41,14 @@ shape = SubResource( 9 ) [node name="BeetleIX" parent="visual" instance=ExtResource( 2 )] transform = Transform( 2.3073, 0, 0, 0, 2.3073, 0, 0, 0, 2.3073, 0, 0, 0 ) + +[node name="exit_interact_box" type="Area" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -1.71935 ) +collision_layer = 2 +collision_mask = 64 + +[node name="CollisionShape" type="CollisionShape" parent="exit_interact_box"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.383553 ) +shape = SubResource( 14 ) + +[connection signal="area_entered" from="exit_interact_box" to="." method="_on_exit_interact_box_area_entered"] diff --git a/scenes/rover_game.tscn b/scenes/rover_game.tscn index 7663aca..0d00bfd 100644 --- a/scenes/rover_game.tscn +++ b/scenes/rover_game.tscn @@ -9,7 +9,7 @@ [ext_resource path="res://item_types/geode.tres" type="Resource" id=7] [sub_resource type="BoxShape" id=7] -extents = Vector3( 21.7976, 4.38074, 5.34608 ) +extents = Vector3( 2.00704, 1, 1 ) [sub_resource type="Environment" id=5] background_mode = 2 @@ -76,17 +76,15 @@ autostart = true anchor_right = 1.0 anchor_bottom = 1.0 -[node name="Panel" type="Panel" parent="UI/Control"] -anchor_right = 1.0 -margin_bottom = 44.0 - -[node name="progress_bar" type="ProgressBar" parent="UI/Control/Panel"] +[node name="progress_bar" type="ProgressBar" parent="UI/Control"] unique_name_in_owner = true -anchor_left = 0.5 -anchor_right = 0.5 -margin_left = -393.0 -margin_right = 393.0 -margin_bottom = 43.0 +anchor_left = 0.295312 +anchor_right = 0.704687 +anchor_bottom = 0.0398148 +custom_colors/font_color = Color( 0, 0, 0, 0 ) +__meta__ = { +"_edit_use_anchors_": true +} [node name="spawn locations" type="Spatial" parent="."] @@ -220,6 +218,16 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 17.4828, 0, 603.399 ) transform = Transform( 0.866025, 2.18557e-08, -0.5, 0.5, -3.78552e-08, 0.866025, 0, -1, -4.37114e-08, 0, 87.952, 53 ) shadow_enabled = true +[node name="exit_trigger" type="Area" parent="."] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.225982, -7.75334 ) +collision_layer = 64 +collision_mask = 2 + +[node name="CollisionShape" type="CollisionShape" parent="exit_trigger"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.844644, -0.601815 ) +shape = SubResource( 7 ) + +[connection signal="rover_exit_level" from="rover" to="." method="_on_rover_rover_exit_level"] [connection signal="area_entered" from="collection_area" to="." method="_on_collection_area_area_entered"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] diff --git a/scripts/rover.gd b/scripts/rover.gd index 66a5c8c..052f1ae 100644 --- a/scripts/rover.gd +++ b/scripts/rover.gd @@ -1,4 +1,5 @@ extends RigidBody +signal rover_exit_level const EPSILON = 0.0001 const SPEED = 300.0 @@ -27,3 +28,6 @@ func _unhandled_input(event): area = area.get_meta("owner") if area.on_rover_interact(self): break + +func _on_exit_interact_box_area_entered(area): + emit_signal("rover_exit_level") diff --git a/scripts/rover_game.gd b/scripts/rover_game.gd index 47a3b66..ab220d9 100644 --- a/scripts/rover_game.gd +++ b/scripts/rover_game.gd @@ -41,4 +41,6 @@ func _process(delta): func _on_Timer_timeout(): emit_signal("game_over") - +func _on_rover_rover_exit_level(): + timer.stop() + emit_signal("game_over")