working on start room
This commit is contained in:
parent
8cceafb10c
commit
6fe8b66184
7 changed files with 164 additions and 33 deletions
|
|
@ -4,6 +4,10 @@ extends CharacterBody3D
|
|||
@export var mouse_sensitivity : float = 0.003 # TODO: this is sketchy check that its framerate independant pls
|
||||
@export var raycast : RayCast3D
|
||||
|
||||
@export var held_object : Node3D
|
||||
@export var has_object : bool = false
|
||||
@export var hand : Node3D
|
||||
|
||||
signal object_clicked(object : Node3D)
|
||||
|
||||
const SPEED = 5.0
|
||||
|
|
@ -31,11 +35,23 @@ func _physics_process(delta):
|
|||
else:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
# interact with stuff
|
||||
if Input.is_action_just_pressed("drop"):
|
||||
drop()
|
||||
|
||||
# interact with stuff
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
if "name" in raycast.get_collider():
|
||||
if "command_name" in raycast.get_collider():
|
||||
print(raycast.get_collider().command_name)
|
||||
|
||||
#hand.add_child(held_object)
|
||||
if(!has_object):
|
||||
held_object = raycast.get_collider()
|
||||
held_object.reparent(hand)
|
||||
held_object.position = Vector3(0,0,0)
|
||||
held_object.freeze = true
|
||||
has_object = true
|
||||
else:
|
||||
print(raycast.get_collider().name)
|
||||
object_clicked.emit(raycast.get_collider())
|
||||
|
|
@ -63,3 +79,10 @@ func _input(event):
|
|||
rotate_y(-event.relative.x * mouse_sensitivity)
|
||||
camera.rotate_x(-event.relative.y * mouse_sensitivity)
|
||||
camera.rotation.x = clampf(camera.rotation.x, -deg_to_rad(70), deg_to_rad(70))
|
||||
|
||||
func drop():
|
||||
if has_object:
|
||||
held_object.reparent(get_tree().get_root())
|
||||
held_object.freeze = false
|
||||
has_object = false
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue