var targetSprite = EnsureComp<SpriteComponent>(dummy);
EntityManager.System<AppearanceSystem>().OnChangeData(dummy, targetSprite);
+ var addedIndex = 0;
for (var i = 0; i < targetSprite.AllLayers.Count(); i++)
{
if (!targetSprite[i].Visible || !targetSprite[i].RsiState.IsValid)
state.StateId.Name is null)
continue;
- _sprite.AddBlankLayer((ghost.Value, sprite), i);
- _sprite.LayerSetSprite((ghost.Value, sprite), i, new SpriteSpecifier.Rsi(rsi.Path, state.StateId.Name));
- sprite.LayerSetShader(i, "unshaded");
- _sprite.LayerSetVisible((ghost.Value, sprite), i, true);
+ _sprite.AddBlankLayer((ghost.Value, sprite), addedIndex);
+ _sprite.LayerSetSprite((ghost.Value, sprite), addedIndex, new SpriteSpecifier.Rsi(rsi.Path, state.StateId.Name));
+ sprite.LayerSetShader(addedIndex, "unshaded");
+ _sprite.LayerSetVisible((ghost.Value, sprite), addedIndex, true);
+ addedIndex++;
}
Del(dummy);
--- /dev/null
+- type: constructionGraph
+ id: DefibrillatorCabinet
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: done
+ steps:
+ - material: Steel
+ amount: 2
+ doAfter: 5
+ - node: done
+ entity: DefibrillatorCabinet
+ edges:
+ - to: start
+ steps:
+ - tool: Screwing
+ doAfter: 5
+ conditions:
+ - !type:ContainerEmpty
+ container: "ItemCabinet"
+ completed:
+ - !type:SpawnPrototype
+ prototype: SheetSteel1
+ amount: 2
+ - !type:EmptyAllContainers
+ - !type:DeleteEntity
--- /dev/null
+- type: construction
+ id: DefibrillatorCabinet
+ graph: DefibrillatorCabinet
+ startNode: start
+ targetNode: done
+ category: construction-category-storage
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canRotate: true
+ canBuildInImpassable: true
+ conditions:
+ - !type:WallmountCondition