Added Arch Persitance and Relationships, styackable items, hot fixed Tags.containsAll. AutoList in Ordered!DList
This commit is contained in:
49365
src/VoxelGrid/Stress.tscn
Normal file
49365
src/VoxelGrid/Stress.tscn
Normal file
File diff suppressed because it is too large
Load Diff
@@ -43,10 +43,12 @@ public class BacterialSystem : BaseSystem<World, float>
|
||||
|
||||
//Will Liklely be the game instead of a node like this
|
||||
[Meta(typeof(IAutoNode))]// [Tool]
|
||||
public partial class VoxelGridNode : Node3D, IProvide<IVoxelGridRegistry>, IProvide<IItemRenderer>, IProvide<IRecipes>, IProvide<IBlueprintManger>, IProvide<World>
|
||||
public partial class VoxelGridNode : Node3D, IProvide<IVoxelGridRegistry>, IProvide<IItemRenderer>, IProvide<IRecipes>, IProvide<IBlueprintManger>, IProvide<World>, IProvide<IFoodFactoryApi>
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private IFoodFactoryApi _api = default!;
|
||||
IFoodFactoryApi IProvide<IFoodFactoryApi>.Value() => _api;
|
||||
private World _world = default!;
|
||||
World IProvide<World>.Value() => _world;
|
||||
private IVoxelGridRegistry _voxelGridRegistry = default!;
|
||||
@@ -63,24 +65,40 @@ public partial class VoxelGridNode : Node3D, IProvide<IVoxelGridRegistry>, IProv
|
||||
// GD.Print();
|
||||
base._Ready();
|
||||
_voxelGridRegistry = new VoxelRegistry();
|
||||
_itemRenderer = new ItemRenderSimple();
|
||||
_itemRenderer = new ItemRenderBuffered();
|
||||
_blueprintManger = new BlueprintManger();
|
||||
_recipes = new Recipes();
|
||||
_world = World.Create();
|
||||
_systems = new Group<float>("Items", new BacterialSystem(_world));
|
||||
var tickManger = new TickManger();
|
||||
|
||||
|
||||
AddChild(_itemRenderer as Node);
|
||||
Timer timer = new Timer() { WaitTime = .25f, Autostart = true };//TEST
|
||||
var delta = .2f;
|
||||
Timer timer = new Timer() { WaitTime = delta, Autostart = true };//TEST
|
||||
AddChild(timer);//TEST
|
||||
// timer.Timeout += _itemRenderer.Tick;//TEST
|
||||
_api = new FoodFactoryApi()
|
||||
{
|
||||
BlueprintManger = _blueprintManger,
|
||||
Recipes = _recipes,
|
||||
ItemRenderer = _itemRenderer,
|
||||
TickManger = tickManger,
|
||||
GridRegistry = _voxelGridRegistry
|
||||
};
|
||||
int tick = 0;
|
||||
timer.Timeout += () =>
|
||||
{
|
||||
_systems.BeforeUpdate(.25f);
|
||||
_systems.Update(.25f);
|
||||
_systems.AfterUpdate(.25f);
|
||||
_systems.BeforeUpdate(delta);
|
||||
_systems.Update(delta);
|
||||
_systems.AfterUpdate(delta);
|
||||
tickManger.BroadCast(new(tick, delta));
|
||||
tick++;
|
||||
|
||||
};
|
||||
_systems.Initialize();
|
||||
|
||||
|
||||
this.Provide();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
[gd_scene format=3 uid="uid://dfacxkkkc0v10"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dcrb286hmpli" path="res://src/VoxelGrid/VoxelGridNode.cs" id="1_tsdpe"]
|
||||
[ext_resource type="Script" uid="uid://cnkblltup5guy" path="res://src/VoxelGrid/OvenTest.cs" id="3_r7dgx"]
|
||||
[ext_resource type="Script" uid="uid://cnkblltup5guy" path="res://src/Equipment/OvenTest.cs" id="3_r7dgx"]
|
||||
[ext_resource type="PackedScene" uid="uid://bktqs1lw6go4" path="res://src/VoxelGrid/ItemSpawner.tscn" id="5_mxaon"]
|
||||
[ext_resource type="PackedScene" uid="uid://h00mq2srsbfa" path="res://assets/kenney_conveyor-kit/Models/GLB format/door.glb" id="5_wk2t5"]
|
||||
[ext_resource type="Script" uid="uid://ee5aoxi8mjnw" path="res://src/VoxelGrid/BeltPort.cs" id="6_2wkfx"]
|
||||
[ext_resource type="Script" uid="uid://ee5aoxi8mjnw" path="res://src/Equipment/BeltPort.cs" id="6_2wkfx"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4h7mwnfrdesg" path="res://src/Conveyors/ConveyorBeltStraight/ConveyorBeltStraight.tscn" id="6_mxaon"]
|
||||
[ext_resource type="Script" uid="uid://opbkqoaa7x2n" path="res://src/VoxelGrid/Balancer.cs" id="7_2wkfx"]
|
||||
[ext_resource type="Script" uid="uid://yec84plemjv1" path="res://src/VoxelGrid/SlicerTest.cs" id="8_2lg7i"]
|
||||
[ext_resource type="Script" uid="uid://opbkqoaa7x2n" path="res://src/Equipment/Balancer.cs" id="7_2wkfx"]
|
||||
[ext_resource type="Script" uid="uid://yec84plemjv1" path="res://src/Equipment/SlicerTest.cs" id="8_2lg7i"]
|
||||
[ext_resource type="Script" uid="uid://culjdbwllmsyk" path="res://src/Equipment/StackerTest.cs" id="8_e2skk"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_mxaon"]
|
||||
_data = {
|
||||
@@ -64,6 +65,12 @@ transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 5, 0
|
||||
[node name="ConveyorBeltStraight27" parent="." unique_id=1546024538 instance=ExtResource("6_mxaon")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 5, 0, 6)
|
||||
|
||||
[node name="ConveyorBeltStraight42" parent="." unique_id=2038052188 instance=ExtResource("6_mxaon")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 4, 0, 6)
|
||||
|
||||
[node name="ConveyorBeltStraight43" parent="." unique_id=131250040 instance=ExtResource("6_mxaon")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 3, 0, 6)
|
||||
|
||||
[node name="ConveyorBeltStraight28" parent="." unique_id=1945842047 instance=ExtResource("6_mxaon")]
|
||||
transform = Transform3D(1.3113416e-07, 0, -1, 0, 1, 0, 1, 0, 1.3113416e-07, 5, 0, 4)
|
||||
|
||||
@@ -189,14 +196,14 @@ transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 1
|
||||
Access = 2
|
||||
|
||||
[node name="Node3D3" type="Node3D" parent="Balancer" unique_id=1846433120]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 2
|
||||
Access = 1
|
||||
|
||||
[node name="Node3D4" type="Node3D" parent="Balancer" unique_id=1579207766]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 1)
|
||||
@@ -216,6 +223,66 @@ Access = 2
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0.5)
|
||||
mesh = SubResource("BoxMesh_2wkfx")
|
||||
|
||||
[node name="Balancer3" type="Node3D" parent="." unique_id=457806568]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 2)
|
||||
script = ExtResource("7_2wkfx")
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="Balancer3" unique_id=1019210964]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 2
|
||||
|
||||
[node name="Node3D3" type="Node3D" parent="Balancer3" unique_id=1520385636]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 1
|
||||
|
||||
[node name="Node3D4" type="Node3D" parent="Balancer3" unique_id=2034092939]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 1)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 1
|
||||
|
||||
[node name="Node3D2" type="Node3D" parent="Balancer3" unique_id=1013256336]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 1)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 2
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Balancer3" unique_id=920267076]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0.5)
|
||||
mesh = SubResource("BoxMesh_2wkfx")
|
||||
|
||||
[node name="Balancer2" type="Node3D" parent="." unique_id=620786657]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0, 6)
|
||||
script = ExtResource("8_e2skk")
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="Balancer2" unique_id=1570745328]
|
||||
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 3
|
||||
PortName = "OutPut"
|
||||
|
||||
[node name="Node3D3" type="Node3D" parent="Balancer2" unique_id=1793642533]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 3
|
||||
PortName = "Input"
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Balancer2" unique_id=1733942784]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0.5)
|
||||
mesh = SubResource("BoxMesh_2wkfx")
|
||||
|
||||
[node name="Balancer8" type="Node3D" parent="." unique_id=1783081047]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 7, 0, -1)
|
||||
script = ExtResource("7_2wkfx")
|
||||
@@ -225,14 +292,14 @@ transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 0
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 1
|
||||
Access = 2
|
||||
|
||||
[node name="Node3D3" type="Node3D" parent="Balancer8" unique_id=51764402]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 2
|
||||
Access = 1
|
||||
|
||||
[node name="Node3D4" type="Node3D" parent="Balancer8" unique_id=233486636]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 1)
|
||||
@@ -258,6 +325,11 @@ script = ExtResource("8_2lg7i")
|
||||
|
||||
[node name="Node3D4" type="Node3D" parent="Slicer" unique_id=1206144064]
|
||||
transform = Transform3D(-1, 0, 8.742277e-08, 0, 1, 0, -8.742277e-08, 0, -1, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 1
|
||||
PortName = "Input"
|
||||
|
||||
[node name="Path3D" type="Path3D" parent="Slicer/Node3D4" unique_id=894348025]
|
||||
curve = SubResource("Curve3D_mxaon")
|
||||
@@ -267,6 +339,11 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.870017e-08, 0, -0.6001501)
|
||||
|
||||
[node name="Node3D5" type="Node3D" parent="Slicer" unique_id=1113082191]
|
||||
transform = Transform3D(1, 0, -1.7484555e-07, 0, 1, 0, 1.7484555e-07, 0, 1, 0, 0, 0)
|
||||
script = ExtResource("6_2wkfx")
|
||||
Face = 4
|
||||
Width = 1
|
||||
Access = 2
|
||||
PortName = "OutPut"
|
||||
|
||||
[node name="Path3D2" type="Path3D" parent="Slicer/Node3D5" unique_id=1352328131]
|
||||
curve = SubResource("Curve3D_mxaon")
|
||||
|
||||
Reference in New Issue
Block a user