Modular weapon inlay (#903)

* slots lists

* blade inlay

* tadam
This commit is contained in:
Ed
2025-02-16 11:41:43 +03:00
committed by GitHub
parent a3849c8aa9
commit ffa565484c
32 changed files with 581 additions and 79 deletions

View File

@@ -119,16 +119,19 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
if (!_proto.TryIndex(partProto, out var partIndexed))
continue;
if (partIndexed.TargetSlot is null)
if (partIndexed.Slots.Count == 0)
continue;
if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value))
continue;
if (TryAddPartToSlot(start, part, partProto, partIndexed.TargetSlot.Value))
foreach (var slot in partIndexed.Slots)
{
QueueDel(part);
return true;
if (!start.Comp.FreeSlots.Contains(slot))
continue;
if (TryAddPartToSlot(start, part, partProto, slot))
{
QueueDel(part);
return true;
}
}
}
@@ -141,13 +144,18 @@ public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem
if (!_proto.TryIndex(partProto, out var partIndexed))
return false;
if (partIndexed.TargetSlot is null)
if (partIndexed.Slots.Count == 0)
return false;
if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value))
return false;
foreach (var slot in partIndexed.Slots)
{
if (!start.Comp.FreeSlots.Contains(slot))
continue;
return TryAddPartToSlot(start, null, partProto, partIndexed.TargetSlot.Value);
return TryAddPartToSlot(start, null, partProto, slot);
}
return false;
}
private bool TryAddPartToSlot(Entity<CP14ModularCraftStartPointComponent> start,