working on start room

This commit is contained in:
Clevertop 2024-08-10 21:26:51 +10:00
parent 8cceafb10c
commit 6fe8b66184
7 changed files with 164 additions and 33 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bb8771vptn2l8"
path.s3tc="res://.godot/imported/transparent_wall_new.png-e58866734075665465b8ec98c0ffb79c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://Assets/Textures/transparent_wall_new.png"
dest_files=["res://.godot/imported/transparent_wall_new.png-e58866734075665465b8ec98c0ffb79c.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
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=0

View file

@ -3,15 +3,16 @@ extends RigidBody3D
class_name Command_Block
@export var command_name : String
@export var command_sprite : Texture2D:
set(new_texture):
if command_sprite != null:
command_sprite.changed.disconnect(on_texture_changed)
command_sprite = new_texture
command_sprite.changed.connect(on_texture_changed)
@export var command_sprite : Texture2D#:
#set(new_texture):
#if command_sprite != null:
#command_sprite.changed.disconnect(on_texture_changed)
#command_sprite = new_texture
#command_sprite.changed.connect(on_texture_changed)
# Called when the node enters the scene tree for the first time.
func _ready():
$MeshInstance3D.material_override = $MeshInstance3D.material_override.duplicate()
$MeshInstance3D.material_override.albedo_texture = command_sprite
pass # Replace with function body.
@ -20,7 +21,7 @@ func _ready():
func _process(delta):
pass
func on_texture_changed():
print("meow")
$MeshInstance3D.material_override = $MeshInstance3D.material_override.duplicate()
$MeshInstance3D.material_override.albedo_texture = command_sprite
#func on_texture_changed():
#print("meow")
#$MeshInstance3D.material_override = $MeshInstance3D.material_override.duplicate()
#$MeshInstance3D.material_override.albedo_texture = command_sprite

File diff suppressed because one or more lines are too long

View file

@ -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

View file

@ -6,11 +6,12 @@
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_a6eig"]
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera", "raycast")]
[node name="Player" type="CharacterBody3D" node_paths=PackedStringArray("camera", "raycast", "hand")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.83982, 0)
script = ExtResource("1_tc5d2")
camera = NodePath("Camera3D")
raycast = NodePath("Camera3D/RayCast3D")
hand = NodePath("Camera3D/hand")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
mesh = SubResource("CapsuleMesh_5q2rg")
@ -24,5 +25,8 @@ transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0,
target_position = Vector3(0, -4, 0)
collide_with_areas = true
[node name="hand" type="Node3D" parent="Camera3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.930871, -0.621505, -0.929852)
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_a6eig")

View file

@ -52,6 +52,12 @@ interact={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
drop={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"echo":false,"script":null)
, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
[rendering]