Data-oriented Construction System (#2152)
- Powerful - Data-oriented - Approved by PJB - Powered by node graphs and AI pathfinding - Coded by the same nerd who brought you atmos Co-authored-by: Exp <theexp111@gmail.com>
This commit is contained in:
committed by
GitHub
parent
a6647e8de1
commit
745401a41e
@@ -29,7 +29,7 @@ namespace Content.Server.GameObjects.Components.Recycling
|
||||
[Dependency] private readonly IEntityManager _entityManager = default!;
|
||||
|
||||
public override string Name => "Recycler";
|
||||
|
||||
|
||||
private List<IEntity> _intersecting = new List<IEntity>();
|
||||
|
||||
/// <summary>
|
||||
@@ -73,14 +73,7 @@ namespace Content.Server.GameObjects.Components.Recycling
|
||||
{
|
||||
prototype = null;
|
||||
|
||||
var constructionSystem = EntitySystem.Get<ConstructionSystem>();
|
||||
var entityId = entity.MetaData.EntityPrototype?.ID;
|
||||
|
||||
if (entityId == null ||
|
||||
!constructionSystem.CraftRecipes.TryGetValue(entityId, out prototype))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// TODO CONSTRUCTION fix this
|
||||
|
||||
return Powered;
|
||||
}
|
||||
@@ -91,7 +84,7 @@ namespace Content.Server.GameObjects.Components.Recycling
|
||||
{
|
||||
_intersecting.Add(entity);
|
||||
}
|
||||
|
||||
|
||||
// TODO: Prevent collision with recycled items
|
||||
if (CanGib(entity))
|
||||
{
|
||||
@@ -105,17 +98,7 @@ namespace Content.Server.GameObjects.Components.Recycling
|
||||
return;
|
||||
}
|
||||
|
||||
var constructionSystem = EntitySystem.Get<ConstructionSystem>();
|
||||
var recyclerPosition = Owner.Transform.MapPosition;
|
||||
foreach (var stage in prototype.Stages)
|
||||
{
|
||||
if (!(stage.Forward is ConstructionStepMaterial step))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
constructionSystem.SpawnIngredient(recyclerPosition, step);
|
||||
}
|
||||
// TODO CONSTRUCTION fix this
|
||||
|
||||
entity.Delete();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user