Chest animation, alarm box entity

This commit is contained in:
Marco 2025-06-24 15:00:27 +02:00
commit 164c186201
25 changed files with 177 additions and 23 deletions

View file

@ -1 +1 @@
{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"Alarm_Box","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"resolution":{"width":32,"height":32},"elements":[{"name":"cuboid","color":7,"origin":[0,0,0],"rotation":[0,-180,0],"export":true,"visibility":true,"locked":false,"render_order":"default","allow_mirror_modeling":true,"vertices":{"5opu":[3,4,1],"Cl1p":[3,4,-1],"AICL":[3,-4,1],"Byg2":[3,-4,-1],"wCv1":[-3,4,1],"8LyQ":[-3,4,-1],"1jpQ":[-3,-4,1],"GO5x":[-3,-4,-1]},"faces":{"miXhwLeZ":{"uv":{"Byg2":[2,17],"Cl1p":[2,9],"AICL":[0,17],"5opu":[0,9]},"vertices":["5opu","AICL","Cl1p","Byg2"],"texture":0},"GOaUCZp2":{"uv":{"GO5x":[3,17],"1jpQ":[5,17],"8LyQ":[3,9],"wCv1":[5,9]},"vertices":["wCv1","8LyQ","1jpQ","GO5x"],"texture":0},"pjBt281A":{"uv":{"8LyQ":[6,9],"wCv1":[6,11],"Cl1p":[12,9],"5opu":[12,11]},"vertices":["5opu","Cl1p","wCv1","8LyQ"],"texture":0},"NkP4CMPs":{"uv":{"GO5x":[6,14],"Byg2":[12,14],"1jpQ":[6,12],"AICL":[12,12]},"vertices":["AICL","1jpQ","Byg2","GO5x"],"texture":0},"cekcPWGv":{"uv":{"1jpQ":[0,8],"AICL":[6,8],"wCv1":[0,0],"5opu":[6,0]},"vertices":["5opu","wCv1","AICL","1jpQ"],"texture":0},"NTRKbQIG":{"uv":{"GO5x":[13,8],"8LyQ":[13,0],"Byg2":[7,8],"Cl1p":[7,0]},"vertices":["Cl1p","Byg2","8LyQ","GO5x"],"texture":0}},"type":"mesh","uuid":"d9ea70d8-4592-8eee-08a5-e00b25615461"}],"outliner":["d9ea70d8-4592-8eee-08a5-e00b25615461"],"textures":[{"path":"K:\\godot\\cirno\\3D\\BlockbenchModels\\AlarmBox\\Alarm_Box_Texture.png","name":"Alarm_Box_Texture.png","folder":"block","namespace":"","id":"0","group":"","width":32,"height":32,"uv_width":32,"uv_height":32,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","pbr_channel":"color","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"b7f62370-e6b7-1dff-7e06-688881b59fe2","relative_path":"Alarm_Box_Texture.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"export_options":{"gltf":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true}}}
{"meta":{"format_version":"4.10","model_format":"free","box_uv":false},"name":"Alarm_Box","model_identifier":"","visible_box":[1,1,0],"variable_placeholders":"","variable_placeholder_buttons":[],"timeline_setups":[],"unhandled_root_fields":{},"reexport":{"codec":"gltf","codec_options":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true},"path":".\\Alarm_Box.gltf","enabled":true},"resolution":{"width":32,"height":32},"elements":[{"name":"cuboid","color":7,"origin":[0,0,0],"rotation":[0,0,0],"export":true,"visibility":true,"locked":false,"render_order":"default","allow_mirror_modeling":true,"vertices":{"5opu":[3,4,1],"Cl1p":[3,4,-1],"AICL":[3,-4,1],"Byg2":[3,-4,-1],"wCv1":[-3,4,1],"8LyQ":[-3,4,-1],"1jpQ":[-3,-4,1],"GO5x":[-3,-4,-1]},"faces":{"miXhwLeZ":{"uv":{"Byg2":[2,17],"Cl1p":[2,9],"AICL":[0,17],"5opu":[0,9]},"vertices":["5opu","AICL","Cl1p","Byg2"],"texture":0},"GOaUCZp2":{"uv":{"GO5x":[3,17],"1jpQ":[5,17],"8LyQ":[3,9],"wCv1":[5,9]},"vertices":["wCv1","8LyQ","1jpQ","GO5x"],"texture":0},"pjBt281A":{"uv":{"8LyQ":[6,9],"wCv1":[6,11],"Cl1p":[12,9],"5opu":[12,11]},"vertices":["5opu","Cl1p","wCv1","8LyQ"],"texture":0},"NkP4CMPs":{"uv":{"GO5x":[6,14],"Byg2":[12,14],"1jpQ":[6,12],"AICL":[12,12]},"vertices":["AICL","1jpQ","Byg2","GO5x"],"texture":0},"cekcPWGv":{"uv":{"1jpQ":[0,8],"AICL":[6,8],"wCv1":[0,0],"5opu":[6,0]},"vertices":["5opu","wCv1","AICL","1jpQ"],"texture":0},"NTRKbQIG":{"uv":{"GO5x":[13,8],"8LyQ":[13,0],"Byg2":[7,8],"Cl1p":[7,0]},"vertices":["Cl1p","Byg2","8LyQ","GO5x"],"texture":0}},"type":"mesh","uuid":"d9ea70d8-4592-8eee-08a5-e00b25615461"}],"outliner":["d9ea70d8-4592-8eee-08a5-e00b25615461"],"textures":[{"path":"D:\\Maddo\\cirnogodot\\3D\\BlockbenchModels\\AlarmBox\\Alarm_Box_Texture.png","name":"Alarm_Box_Texture.png","folder":"block","namespace":"","id":"0","group":"","width":32,"height":32,"uv_width":32,"uv_height":32,"particle":false,"use_as_default":false,"layers_enabled":false,"sync_to_project":"","render_mode":"default","render_sides":"auto","pbr_channel":"color","frame_time":1,"frame_order_type":"loop","frame_order":"","frame_interpolate":false,"visible":true,"internal":true,"saved":true,"uuid":"b7f62370-e6b7-1dff-7e06-688881b59fe2","relative_path":"Alarm_Box_Texture.png","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"export_options":{"gltf":{"encoding":"ascii","scale":16,"embed_textures":true,"armature":false,"animations":true}}}

View file

@ -1 +1 @@
{"asset":{"version":"2.0","generator":"Blockbench 4.12.4 glTF exporter"},"scenes":[{"nodes":[1],"name":"blockbench_export"}],"scene":0,"nodes":[{"rotation":[0,-1,0,6.123233995736766e-17],"name":"cuboid","mesh":0},{"children":[0]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AABAPgAAgD4AAIA9AABAPgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAvgAAgL4AAIA9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAPgAAgD4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgL4AAIC9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAvgAAgD4AAIA9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIC9AABAvgAAgL4AAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAkD4AAAAAAAAIPwAAgD0AAJA+AACAPQAACD8AACA+AACQPgAAwD0AAJA+AAAgPgAACD8AAMA9AAAIPwAAwD4AALA+AADAPgAAkD4AAEA+AACwPgAAQD4AAJA+AADAPgAAwD4AAEA+AADAPgAAwD4AAOA+AABAPgAA4D4AAEA+AAAAAAAAAAAAAAAAAABAPgAAgD4AAAAAAACAPgAAYD4AAAAAAABgPgAAgD4AANA+AAAAAAAA0D4AAIA+AgAAAAEAAgABAAMABgAEAAUABgAFAAcACgAIAAkACgAJAAsADgAMAA0ADgANAA8AEgAQABEAEgARABMAFgAUABUAFgAVABcA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.1875,0.25,0.0625],"min":[-0.1875,-0.25,-0.0625],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.40625,0.53125],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"Control_Pad_Texture"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}]}
{"asset":{"version":"2.0","generator":"Blockbench 4.12.5 glTF exporter"},"scenes":[{"nodes":[1],"name":"blockbench_export"}],"scene":0,"nodes":[{"name":"cuboid","mesh":0},{"children":[0]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963}],"buffers":[{"byteLength":840,"uri":"data:application/octet-stream;base64,AABAPgAAgD4AAIA9AABAPgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAvgAAgL4AAIA9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAPgAAgD4AAIC9AABAvgAAgD4AAIA9AABAvgAAgD4AAIC9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgL4AAIC9AABAvgAAgL4AAIC9AABAPgAAgD4AAIA9AABAvgAAgD4AAIA9AABAPgAAgL4AAIA9AABAvgAAgL4AAIA9AABAPgAAgD4AAIC9AABAPgAAgL4AAIC9AABAvgAAgD4AAIC9AABAvgAAgL4AAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAkD4AAAAAAAAIPwAAgD0AAJA+AACAPQAACD8AACA+AACQPgAAwD0AAJA+AAAgPgAACD8AAMA9AAAIPwAAwD4AALA+AADAPgAAkD4AAEA+AACwPgAAQD4AAJA+AADAPgAAwD4AAEA+AADAPgAAwD4AAOA+AABAPgAA4D4AAEA+AAAAAAAAAAAAAAAAAABAPgAAgD4AAAAAAACAPgAAYD4AAAAAAABgPgAAgD4AANA+AAAAAAAA0D4AAIA+AgAAAAEAAgABAAMABgAEAAUABgAFAAcACgAIAAkACgAJAAsADgAMAA0ADgANAA8AEgAQABEAEgARABMAFgAUABUAFgAVABcA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.1875,0.25,0.0625],"min":[-0.1875,-0.25,-0.0625],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.40625,0.53125],"min":[0,0],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"Alarm_Box_Texture.png"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAJpJREFUWEdjdOBK+c+ABRz4NocRnxw2PeSI4bUE5IBIwe0o5i5/78kAchw5lmHTQ5QDzMXEwHpPvnrFMOqAkRkCyImH7iGAK4tSLRdQyyByzYFnQ+SCh16FEMjRg9cB5AYpqfoGbwjQoyLCmwZIDUpy1eOMAnINJFXfwDuAVBdTWz3VGhbkOmzUAaMhMBoCoyEwGgKjITDgIQAAHa2uIYnXDQAAAAAASUVORK5CYII="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}]}

View file

@ -32,6 +32,13 @@ animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
_subresources={
"materials": {
"material_0": {
"use_external/enabled": true,
"use_external/path": "res://3D/BlockbenchModels/ControlPad/material_0.tres"
}
}
}
gltf/naming_version=1
gltf/embedded_image_handling=1

BIN
3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://biu14wagvbn1e"
path="res://.godot/imported/Control_Pad_0_emission.png-e930e791b6ce706e3c12107603ebb6ac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png"
dest_files=["res://.godot/imported/Control_Pad_0_emission.png-e930e791b6ce706e3c12107603ebb6ac.ctex"]
[params]
compress/mode=3
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

@ -0,0 +1,17 @@
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://chudetvke2c5p"]
[ext_resource type="Texture2D" uid="uid://bny1n60ahhech" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_0.png" id="1_gscmb"]
[ext_resource type="Texture2D" uid="uid://biu14wagvbn1e" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_0_emission.png" id="2_0cxsk"]
[resource]
resource_name = "material_0"
transparency = 2
alpha_scissor_threshold = 0.05
alpha_antialiasing_mode = 0
cull_mode = 2
albedo_texture = ExtResource("1_gscmb")
emission_enabled = true
emission_operator = 1
emission_texture = ExtResource("2_0cxsk")
texture_filter = 0
texture_repeat = false

Binary file not shown.

Binary file not shown.

View file

@ -430,6 +430,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -8.25,
[node name="entity_6_actor_terminal" parent="FuncGodotMap" instance=ExtResource("16_u06t4")]
transform = Transform3D(1, 0, 1.74846e-07, 0, 1, 0, -1.74846e-07, 0, 1, -11.5, 1.75, -9)
script = null
[node name="entity_7_actor_box_green" parent="FuncGodotMap" instance=ExtResource("17_u06t4")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 3.5, 1.25, -3.5)

View file

@ -3018,6 +3018,9 @@ TargetGroup = "elevator_1"
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 14.5, 1.75, 17)
TimelineName = &"computer2"
[node name="entity_207_actor_alarmbox" parent="Maps/FuncGodotMap" instance=ExtResource("54_anja4")]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 29.5, 2, 10.25)
[node name="Props" type="Node3D" parent="."]
[node name="TestElevator" type="Node3D" parent="Props"]
@ -3062,7 +3065,7 @@ Target = NodePath("../Door3")
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -4.48079, 4.71987, 22.8504)
[node name="Chest" parent="Props" instance=ExtResource("70_005j7")]
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 23.4778, 1.53711, 11.3417)
transform = Transform3D(1.31134e-07, 0, -1, 0, 1, 0, 1, 0, 1.31134e-07, 23.5714, 1.53711, 11.4827)
LootTable = [ExtResource("72_51d8c")]
[node name="Forcefield" parent="Props" instance=ExtResource("83_51d8c")]

View file

@ -3798,3 +3798,8 @@
"origin" "272 232 28"
"timeline" "computer2"
}
// entity 207
{
"classname" "actor_alarmbox"
"origin" "164 472 32"
}

View file

@ -1,27 +1,18 @@
[gd_scene load_steps=6 format=3 uid="uid://cpx5yjfg3a2hw"]
[gd_scene load_steps=5 format=3 uid="uid://cpx5yjfg3a2hw"]
[ext_resource type="Script" uid="uid://qxh76ahgexqa" path="res://Scripts/Interactables/Switch3D.cs" id="1_4ysgp"]
[ext_resource type="Texture2D" uid="uid://d24g1qb40t72l" path="res://Sprites/Button_Small.png" id="2_t4kxh"]
[ext_resource type="Script" uid="uid://dxhf1twoxf4j0" path="res://Scripts/Interactables/AlarmBox3D.cs" id="1_4ysgp"]
[ext_resource type="AudioStream" uid="uid://bjvklk7qmlivd" path="res://SFX/288963__littlerobotsoundfactory__click_electronic_14.wav" id="3_5t8l3"]
[ext_resource type="PackedScene" uid="uid://s4yb3i3td11j" path="res://3D/BlockbenchModels/AlarmBox/Alarm_Box.gltf" id="4_4ysgp"]
[sub_resource type="SphereShape3D" id="SphereShape3D_itd0i"]
radius = 0.868968
radius = 0.419927
[node name="ControlPad" type="Area3D" groups=["Interactable"]]
[node name="AlarmBox" type="Area3D" groups=["Interactable"]]
collision_layer = 32
collision_mask = 0
script = ExtResource("1_4ysgp")
metadata/_edit_group_ = true
[node name="Sprite3D" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0)
visible = false
pixel_size = 0.1
texture_filter = 0
texture = ExtResource("2_t4kxh")
hframes = 4
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_itd0i")

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://hak5o0k5yhn1"]
[ext_resource type="PackedScene" uid="uid://bc0du3r4krgg1" path="res://3D/BlockbenchModels/Terminal/Terminal.gltf" id="1_7jsh0"]
[ext_resource type="Script" uid="uid://duy020jwtwver" path="res://Scripts/Activables/Terminal3D.cs" id="1_sn7tt"]
[ext_resource type="Script" uid="uid://duy020jwtwver" path="res://Scripts/Activables/DialogueActor3D.cs" id="1_sn7tt"]
[sub_resource type="SphereShape3D" id="SphereShape3D_2cx3w"]
@ -12,7 +12,6 @@ size = Vector3(0.405762, 0.402695, 0.405273)
collision_layer = 32
collision_mask = 0
script = ExtResource("1_sn7tt")
TimelineName = &"timeline"
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_2cx3w")

View file

@ -27,3 +27,7 @@ shape = SubResource("BoxShape3D_sefe4")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.271027, 0)
shape = SubResource("SphereShape3D_sxwrc")
[connection signal="OpenChest" from="." to="SolidChest/blockbench_export/AnimationPlayer" method="play" binds= ["Open"]]
[editable path="SolidChest/blockbench_export"]

View file

@ -31,3 +31,5 @@ stream = ExtResource("3_ldivl")
bus = &"Effects"
[node name="blockbench_export" parent="." instance=ExtResource("4_dfw4f")]
[editable path="blockbench_export"]

View file

@ -0,0 +1,31 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=4 format=3 uid="uid://bb0dbkrmp7uq2"]
[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_lfdgw"]
[ext_resource type="PackedScene" uid="uid://cpx5yjfg3a2hw" path="res://3D/Scenes/Props/Alarm_Box_3D.tscn" id="2_400u4"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="4_n6irp"]
[resource]
script = ExtResource("4_n6irp")
target_map_editor = 0
models_sub_folder = ""
scale_expression = ""
generate_size_property = false
rotation_offset = Vector3(0, 180, 0)
generate_gd_ignore_file = false
scene_file = ExtResource("2_400u4")
apply_rotation_on_map_build = true
apply_scale_on_map_build = false
classname = "actor_alarmbox"
description = "Alarm Box"
func_godot_internal = false
base_classes = Array[Resource]([ExtResource("1_lfdgw")])
class_properties = {}
class_property_descriptions = {}
auto_apply_to_matching_node_properties = false
meta_properties = {
"size": AABB(-4, -4, -4, 4, 4, 4),
"studio": "\"3D/MapModels/actor_alarmbox.glb\""
}
node_class = ""
name_property = ""
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=25 format=3 uid="uid://b700sa4be6dfa"]
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=26 format=3 uid="uid://b700sa4be6dfa"]
[ext_resource type="Resource" uid="uid://ia1t5p4mhom3" path="res://3D/TrenchBroom/EntityDefinitions/point/lights/light_omni.tres" id="1_7vcj1"]
[ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_lykim"]
@ -24,6 +24,7 @@
[ext_resource type="Resource" uid="uid://ejgmadticege" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Capacitor_Mini.tres" id="21_g67cj"]
[ext_resource type="Resource" uid="uid://cx1wn21evf30h" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Tank_Large.tres" id="22_iy67w"]
[ext_resource type="Resource" uid="uid://cs333m37kmp2y" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_chest.tres" id="23_b5lmu"]
[ext_resource type="Resource" uid="uid://bb0dbkrmp7uq2" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_alarmbox.tres" id="24_ndas4"]
[resource]
script = ExtResource("1_lykim")
@ -31,5 +32,5 @@ export_file = false
target_map_editor = 1
fgd_name = "FuncGodot"
base_fgd_files = Array[Resource]([])
entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu")])
entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu"), ExtResource("24_ndas4")])
metadata/_custom_type_script = "uid://cknmd0lgmorx2"

View file

@ -485,7 +485,7 @@ hframes = 4
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.84862, 0, -4.8932)
[node name="StartPosition" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.9778, 1.57535, -30.5186)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.2092, 1.57535, 4.23742)
[node name="CameraTarget" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.0389, 2.33215, 3.16925)

View file

@ -7,7 +7,7 @@ using Godot.Collections;
namespace Cirno.Scripts.Activables;
[Tool]
public partial class Terminal3D : Area3D, IInteractable
public partial class DialogueActor3D : Area3D, IInteractable
{
[Export] public StringName TimelineName = "";
private DialogueTools _dialogueInstance;

View file

@ -11,6 +11,9 @@ public partial class Chest3D : Interactable3D
[Export] public ChestState State = ChestState.Closed;
[Signal] public delegate void OpenChestEventHandler();
[Signal] public delegate void CloseChestEventHandler();
public override bool Activate(ActivationType activationType = ActivationType.Toggle)
{
GD.Print("Attempting to open chest");
@ -21,6 +24,7 @@ public partial class Chest3D : Interactable3D
InventoryManager.Instance.AddItem(item);
}
EmitSignalOpenChest();
//_sprite.Play("Opening");
State = ChestState.Open;

View file

@ -0,0 +1,8 @@
using Godot;
namespace Cirno.Scripts.Components.Actors._3D;
public partial class ModelAnimation3D : Node
{
}

View file

@ -0,0 +1 @@
uid://dw1e13462567x

View file

@ -0,0 +1,42 @@
using Godot;
namespace Cirno.Scripts.Interactables;
[Tool]
public partial class AlarmBox3D : Interactable3D
{
private AudioStreamPlayer _activationSound;
private readonly string _activationSoundName = "ActivationSound";
[Signal] public delegate void OnActivatedEventHandler(ActivationType activationType);
public override void _Ready()
{
if (Engine.IsEditorHint()) return;
_activationSound = GetNodeOrNull<AudioStreamPlayer>(_activationSoundName);
if (AlarmManager.Instance is not null)
{
AlarmManager.Instance.AlarmEnabled3D += OnAlarmEnabled3D;
}
}
private void OnAlarmEnabled3D(Vector3 location)
{
// TODO: set animation, make blinky
GD.Print($"Enabled alarm in box {this.Name}");
}
public override bool Activate(ActivationType activationType = ActivationType.Toggle)
{
EmitSignal(SignalName.OnActivated, (int)activationType);
if (AlarmManager.Instance is not null)
{
_activationSound.Play();
AlarmManager.Instance.DisableAlarm();
}
return true;
}
}

View file

@ -0,0 +1 @@
uid://dxhf1twoxf4j0