diff --git a/game/project.godot b/game/project.godot index 6e8ca38..539e581 100644 --- a/game/project.godot +++ b/game/project.godot @@ -69,3 +69,8 @@ player_light={ "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":70,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +player_phone={ +"deadzone": 0.2, +"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":4194306,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) +] +} diff --git a/game/scenes/Levels/level.tscn b/game/scenes/Levels/level.tscn index 4272279..749eba8 100644 --- a/game/scenes/Levels/level.tscn +++ b/game/scenes/Levels/level.tscn @@ -62,6 +62,7 @@ mesh = SubResource("SphereMesh_w7c3h") physics_material_override = SubResource("PhysicsMaterial_w8frs") script = ExtResource("1_muv8p") camera_path = NodePath("Camera3D") +phone_path = NodePath("../PhoneUI") [node name="CollisionShape3D" type="CollisionShape3D" parent="Player"] shape = SubResource("SphereShape3D_mx8sn") @@ -98,6 +99,33 @@ process_mode = 3 visible = false script = ExtResource("3_tc7dm") +[node name="PhoneUI" type="CanvasLayer" parent="."] +layer = 5 +visible = false + +[node name="Control" type="Control" parent="PhoneUI"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="PhoneFrame" type="ColorRect" parent="PhoneUI/Control"] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -180.0 +offset_top = -320.0 +offset_right = 180.0 +offset_bottom = 320.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.08, 0.08, 0.1, 1) + [node name="Control" type="Control" parent="Menu"] layout_mode = 3 anchors_preset = 15 diff --git a/game/scenes/player.gd b/game/scenes/player.gd index 90f7398..e4242c2 100644 --- a/game/scenes/player.gd +++ b/game/scenes/player.gd @@ -31,6 +31,9 @@ var audio_player = AudioStreamPlayer.new() @export var camera_path: NodePath @onready var cam: Camera3D = get_node(camera_path) if camera_path != NodePath("") else null +@export var phone_path: NodePath +@onready var phone: CanvasLayer = get_node(phone_path) if phone_path != NodePath("") else null +var phone_visible := false func _ready() -> void: axis_lock_angular_x = true @@ -69,6 +72,11 @@ func _integrate_forces(state): # Input as 2D vector var input2v := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down") + + if Input.is_action_just_pressed("player_phone"): + phone_visible = !phone_visible + if phone: + phone.visible = phone_visible # Camera based movement var forward := Vector3.FORWARD * -1.0