Move files and folders to new repo format to enable multi-project format
This commit is contained in:
25
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.cs
Normal file
25
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class ItemRescue : Area3D
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
BodyEntered += OnItemRescueEntered;
|
||||
}
|
||||
|
||||
public void OnItemRescueEntered(Node3D item)
|
||||
{
|
||||
GD.Print("Item rescue entered");
|
||||
if (item is IDroppedItem droppedItem)
|
||||
droppedItem.RescueItem();
|
||||
if (item is ThrownItem thrownItem)
|
||||
thrownItem.RescueItem();
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://bxq6xpwra6o47
|
||||
21
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.tscn
Normal file
21
Zennysoft.Game.Ma/src/item_rescue/ItemRescue.tscn
Normal file
@@ -0,0 +1,21 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://duis2vhf5ojy3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bxq6xpwra6o47" path="res://src/item_rescue/ItemRescue.cs" id="1_j1jha"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ykgmd"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_j1jha"]
|
||||
transparency = 1
|
||||
shading_mode = 0
|
||||
albedo_color = Color(0.486275, 1, 0.443137, 0.309804)
|
||||
|
||||
[node name="Item Rescue" type="Area3D"]
|
||||
collision_layer = 0
|
||||
collision_mask = 1024
|
||||
script = ExtResource("1_j1jha")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_ykgmd")
|
||||
|
||||
[node name="SenseSphere" type="CSGSphere3D" parent="."]
|
||||
material = SubResource("StandardMaterial3D_j1jha")
|
||||
17
Zennysoft.Game.Ma/src/item_rescue/RescuedItemDatabase.cs
Normal file
17
Zennysoft.Game.Ma/src/item_rescue/RescuedItemDatabase.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Chickensoft.Serialization;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta, Id("rescued_items")]
|
||||
public partial class RescuedItemDatabase
|
||||
{
|
||||
[Save("rescued_item_list")]
|
||||
public List<InventoryItem> Items { get; init; }
|
||||
|
||||
public RescuedItemDatabase()
|
||||
{
|
||||
Items = new List<InventoryItem>();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cc3h74kp8787g
|
||||
63
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs
Normal file
63
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Zennysoft.Game.Ma;
|
||||
using Godot;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class RescuedItems : Node3D
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Dependency] public IGame Game => this.DependOn<IGame>();
|
||||
|
||||
[Node] public Marker3D Spawn1 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn2 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn3 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn4 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn5 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn6 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn7 { get; set; } = default!;
|
||||
[Node] public Marker3D Spawn8 { get; set; } = default!;
|
||||
|
||||
private List<Marker3D> SpawnLocations;
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
SpawnLocations = new List<Marker3D>()
|
||||
{
|
||||
Spawn1,
|
||||
Spawn2,
|
||||
Spawn3,
|
||||
Spawn4,
|
||||
Spawn5,
|
||||
Spawn6,
|
||||
Spawn7,
|
||||
Spawn8
|
||||
};
|
||||
}
|
||||
|
||||
public void SpawnRescuedItems()
|
||||
{
|
||||
foreach (var item in Game.RescuedItems.Items)
|
||||
{
|
||||
var droppedScene = GD.Load<PackedScene>("res://src/items/dropped/DroppedItem.tscn");
|
||||
var dropped = droppedScene.Instantiate<DroppedItem>();
|
||||
dropped.Item = item;
|
||||
SpawnLocations.First().AddChild(dropped);
|
||||
dropped.GlobalPosition = SpawnLocations.First().GlobalPosition;
|
||||
SpawnLocations.Remove(SpawnLocations.First());
|
||||
}
|
||||
|
||||
Game.RescuedItems.Items.Clear();
|
||||
}
|
||||
|
||||
public void OnSpawnItemsEntered(Node3D body)
|
||||
{
|
||||
GD.Print("Spawn items");
|
||||
SpawnRescuedItems();
|
||||
}
|
||||
}
|
||||
1
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cav0todblih41
|
||||
38
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.tscn
Normal file
38
Zennysoft.Game.Ma/src/item_rescue/RescuedItems.tscn
Normal file
@@ -0,0 +1,38 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://tc5kdfoggrng"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/item_rescue/RescuedItems.cs" id="1_m08l5"]
|
||||
|
||||
[node name="Rescued Items" type="Node3D"]
|
||||
script = ExtResource("1_m08l5")
|
||||
|
||||
[node name="Spawn1" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
|
||||
|
||||
[node name="Spawn2" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0)
|
||||
|
||||
[node name="Spawn3" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 0)
|
||||
|
||||
[node name="Spawn4" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
|
||||
|
||||
[node name="Spawn5" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
|
||||
|
||||
[node name="Spawn6" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, -1)
|
||||
|
||||
[node name="Spawn7" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, -1)
|
||||
|
||||
[node name="Spawn8" type="Marker3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0, 1)
|
||||
Reference in New Issue
Block a user