removed Structural instance and SJKScript was changed to be using an nuget package.
This commit is contained in:
@@ -23,7 +23,6 @@ public partial class VoxelGridNode : Node3D, IProvide<IVoxelGridQuery<LayeredEqu
|
||||
IItemRenderer IProvide<IItemRenderer>.Value() => _itemRenderer;
|
||||
public override void _Ready()
|
||||
{
|
||||
TestStructural.Test();
|
||||
GD.Print();
|
||||
base._Ready();
|
||||
_voxelGrid = new EquipmentVoxelGrid();
|
||||
@@ -107,7 +106,8 @@ public class LayeredEquipment
|
||||
}
|
||||
}
|
||||
}
|
||||
public sealed class SlotDescriptor {
|
||||
public sealed class SlotDescriptor
|
||||
{
|
||||
public SlotDirection Direction { get; }
|
||||
|
||||
public SlotDescriptor(
|
||||
@@ -117,10 +117,12 @@ public sealed class SlotDescriptor {
|
||||
Direction = direction;
|
||||
}
|
||||
}
|
||||
public abstract class SlotLogic<TPayload> {
|
||||
public abstract class SlotLogic<TPayload>
|
||||
{
|
||||
public SlotDescriptor Descriptor { get; }
|
||||
|
||||
protected SlotLogic(SlotDescriptor descriptor) {
|
||||
protected SlotLogic(SlotDescriptor descriptor)
|
||||
{
|
||||
Descriptor = descriptor;
|
||||
}
|
||||
|
||||
@@ -133,26 +135,30 @@ public abstract class SlotLogic<TPayload> {
|
||||
);
|
||||
}
|
||||
public sealed class ItemSlotLogic
|
||||
: SlotLogic<IBeltItem> {
|
||||
: SlotLogic<IBeltItem>
|
||||
{
|
||||
|
||||
public ItemSlotLogic(SlotDescriptor descriptor)
|
||||
: base(descriptor) {}
|
||||
: base(descriptor) { }
|
||||
|
||||
public override bool CanTransfer(IBeltItem item) => false;
|
||||
// item.Count > 0;
|
||||
// item.Count > 0;
|
||||
|
||||
public override bool TryTransfer(IBeltItem item) {
|
||||
public override bool TryTransfer(IBeltItem item)
|
||||
{
|
||||
// routing rules
|
||||
return true;
|
||||
}
|
||||
}
|
||||
[Meta]
|
||||
public partial class ItemSlotNode
|
||||
: SlotComponentNode {
|
||||
: SlotComponentNode
|
||||
{
|
||||
|
||||
private ItemSlotLogic _logic;
|
||||
|
||||
public override void _Ready() {
|
||||
public override void _Ready()
|
||||
{
|
||||
base._Ready();
|
||||
_logic = new ItemSlotLogic(
|
||||
new SlotDescriptor(Direction)
|
||||
@@ -163,7 +169,8 @@ public partial class ItemSlotNode
|
||||
|
||||
}
|
||||
|
||||
public void Tick(IBeltItem stack) {
|
||||
public void Tick(IBeltItem stack)
|
||||
{
|
||||
if (_logic.CanTransfer(stack))
|
||||
_logic.TryTransfer(stack);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user