mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 06:45:33 +00:00
Chests
This commit is contained in:
parent
04ea9dd191
commit
b89043cd8c
11 changed files with 789 additions and 648 deletions
File diff suppressed because one or more lines are too long
|
|
@ -3760,3 +3760,28 @@
|
|||
"origin" "112 -992 0"
|
||||
"angles" "90 0 0"
|
||||
}
|
||||
// entity 198
|
||||
{
|
||||
"classname" "actor_barrel_1"
|
||||
"origin" "432 -216 64"
|
||||
}
|
||||
// entity 199
|
||||
{
|
||||
"classname" "actor_barrel_1"
|
||||
"origin" "432 -200 64"
|
||||
}
|
||||
// entity 200
|
||||
{
|
||||
"classname" "actor_barrel_1"
|
||||
"origin" "424 -384 64"
|
||||
}
|
||||
// entity 201
|
||||
{
|
||||
"classname" "actor_barrel_1"
|
||||
"origin" "408 -384 64"
|
||||
}
|
||||
// entity 202
|
||||
{
|
||||
"classname" "actor_barrel_1"
|
||||
"origin" "424 -368 64"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,29 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://dyi4ji0t3ryi4"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://dyi4ji0t3ryi4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://fm00gyh0hgmj" path="res://Scripts/Components/Actors/3D/Chest3D.cs" id="1_rpeec"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5yq3ibbfoo0" path="res://3D/BlockbenchModels/Chest/Chest.gltf" id="1_sxwrc"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_sefe4"]
|
||||
size = Vector3(0.633301, 0.449463, 0.509521)
|
||||
size = Vector3(0.633301, 0.449646, 0.509521)
|
||||
|
||||
[node name="Chest" type="StaticBody3D"]
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_sxwrc"]
|
||||
radius = 0.467832
|
||||
|
||||
[node name="Chest" type="Area3D" groups=["Interactable"]]
|
||||
collision_layer = 32
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_rpeec")
|
||||
|
||||
[node name="SolidChest" type="StaticBody3D" parent="."]
|
||||
collision_layer = 16
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00463867, -0.022522, 0.0032959)
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="SolidChest"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00463867, -0.279144, 0.0032959)
|
||||
shape = SubResource("BoxShape3D_sefe4")
|
||||
|
||||
[node name="blockbench_export" parent="." instance=ExtResource("1_sxwrc")]
|
||||
[node name="blockbench_export" parent="SolidChest" instance=ExtResource("1_sxwrc")]
|
||||
|
||||
[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")
|
||||
|
|
|
|||
|
|
@ -1,21 +1,11 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://d28e1t2c0lwbp"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://d28e1t2c0lwbp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_xnqcl"]
|
||||
[ext_resource type="Texture2D" uid="uid://cfldr7l7dearo" path="res://Sprites/Bullets/mid_bullet_red.png" id="2_xnqcl"]
|
||||
[ext_resource type="Script" uid="uid://dvln1783wvvuw" path="res://Scripts/Components/Actors/ShadowProvider.cs" id="3_xyes7"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_pklkt"]
|
||||
radius = 0.172059
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2kukh"]
|
||||
transparency = 1
|
||||
depth_draw_mode = 2
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0, 0, 0, 0.235294)
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_t5ure"]
|
||||
material = SubResource("StandardMaterial3D_2kukh")
|
||||
|
||||
[node name="Bullet" type="Area3D" groups=["bullets"]]
|
||||
collision_layer = 128
|
||||
collision_mask = 23
|
||||
|
|
@ -34,14 +24,6 @@ shape = SubResource("SphereShape3D_pklkt")
|
|||
|
||||
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
|
||||
|
||||
[node name="Shadow" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.29, 0)
|
||||
mesh = SubResource("QuadMesh_t5ure")
|
||||
script = ExtResource("3_xyes7")
|
||||
MaxShadowScale = 0.2
|
||||
MinShadowScale = 0.05
|
||||
CollisionMask = 1
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]
|
||||
|
|
|
|||
|
|
@ -1,21 +1,11 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://c133312rx63ps"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://c133312rx63ps"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_ojpd6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdyd0bht18n47" path="res://Sprites/EnemyProjectile.png" id="2_ojpd6"]
|
||||
[ext_resource type="Script" uid="uid://dvln1783wvvuw" path="res://Scripts/Components/Actors/ShadowProvider.cs" id="3_7vcns"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_pklkt"]
|
||||
radius = 0.083358
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7vcns"]
|
||||
transparency = 1
|
||||
depth_draw_mode = 2
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0, 0, 0, 0.235294)
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_vbda4"]
|
||||
material = SubResource("StandardMaterial3D_7vcns")
|
||||
|
||||
[node name="Bullet" type="Area3D" groups=["bullets"]]
|
||||
collision_layer = 128
|
||||
collision_mask = 23
|
||||
|
|
@ -34,14 +24,6 @@ shape = SubResource("SphereShape3D_pklkt")
|
|||
|
||||
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
|
||||
|
||||
[node name="Shadow" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, -0.29, 0)
|
||||
mesh = SubResource("QuadMesh_vbda4")
|
||||
script = ExtResource("3_7vcns")
|
||||
MaxShadowScale = 0.2
|
||||
MinShadowScale = 0.05
|
||||
CollisionMask = 1
|
||||
|
||||
[connection signal="area_entered" from="." to="." method="_on_area_entered"]
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
[connection signal="screen_exited" from="VisibleOnScreenNotifier" to="." method="_on_visible_on_screen_notifier_2d_screen_exited"]
|
||||
|
|
|
|||
|
|
@ -43,11 +43,4 @@ public partial class Chest : Interactable
|
|||
return State == ChestState.Closed;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum ChestState
|
||||
{
|
||||
Closed,
|
||||
Open,
|
||||
Destroyed
|
||||
}
|
||||
8
Scripts/ChestState.cs
Normal file
8
Scripts/ChestState.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
namespace Cirno.Scripts;
|
||||
|
||||
public enum ChestState
|
||||
{
|
||||
Closed,
|
||||
Open,
|
||||
Destroyed
|
||||
}
|
||||
1
Scripts/ChestState.cs.uid
Normal file
1
Scripts/ChestState.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://c81b2enbyhxxo
|
||||
43
Scripts/Components/Actors/3D/Chest3D.cs
Normal file
43
Scripts/Components/Actors/3D/Chest3D.cs
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
using Cirno.Scripts.Interactables;
|
||||
using Cirno.Scripts.Resources;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace Cirno.Scripts.Components.Actors._3D;
|
||||
|
||||
public partial class Chest3D : Interactable3D
|
||||
{
|
||||
[Export] public Array<LootItem> LootTable = [];
|
||||
|
||||
[Export] public ChestState State = ChestState.Closed;
|
||||
|
||||
public override bool Activate(ActivationType activationType = ActivationType.Toggle)
|
||||
{
|
||||
GD.Print("Attempting to open chest");
|
||||
if (State != ChestState.Closed) return false;
|
||||
if (!MeetsRequirements()) return false;
|
||||
foreach (var item in LootTable)
|
||||
{
|
||||
InventoryManager.Instance.AddItem(item);
|
||||
}
|
||||
|
||||
//_sprite.Play("Opening");
|
||||
State = ChestState.Open;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
|
||||
//_sprite = GetNode<AnimatedSprite2D>("AnimatedSprite2D");
|
||||
|
||||
|
||||
}
|
||||
|
||||
public override bool CanActivate()
|
||||
{
|
||||
return State == ChestState.Closed;
|
||||
}
|
||||
}
|
||||
1
Scripts/Components/Actors/3D/Chest3D.cs.uid
Normal file
1
Scripts/Components/Actors/3D/Chest3D.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://fm00gyh0hgmj
|
||||
|
|
@ -3,25 +3,26 @@
|
|||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b2vmpi57d7vwy"
|
||||
path="res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.ctex"
|
||||
path.s3tc="res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.s3tc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Items/Shield_Extend.png"
|
||||
dest_files=["res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.ctex"]
|
||||
dest_files=["res://.godot/imported/Shield_Extend.png-b361e8c7e5b3222ebe425f5f7cedd9eb.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
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=false
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
|
|
@ -31,4 +32,4 @@ process/normal_map_invert_y=false
|
|||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
detect_3d/compress_to=0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue