Pipe prototypes (#2124)

* Pipe prototypes

* PipeDirection setter

* IRotatableNode

* NodeContainer passes rotation events to its nodes

* Removes duplicate pipe prototypes that are rotations of each other

* PipeDirectionHelpers

* PipeNode rotation

* icon removal

* Pipe icons

* Icon fix

* Fixes pipe sprites and icons

Co-authored-by: py01 <pyronetics01@gmail.com>
This commit is contained in:
py01
2020-10-08 09:53:56 -06:00
committed by GitHub
parent 621a39016f
commit 970f3bc82f
47 changed files with 278 additions and 296 deletions

View File

@@ -1,6 +1,8 @@
- type: entity
abstract: true
id: PipeBase
name: Pipe
description: Holds gas.
placement:
mode: SnapgridCenter
components:
@@ -9,38 +11,64 @@
- type: Collidable
- type: SnapGrid
offset: Center
- type: Sprite
- type: Destructible
thresholdvalue: 100
- type: Sprite
sprite: Constructible/Atmos/pipe.rsi
- type: Appearance
visuals:
- type: PipeVisualizer
pipeRSI: Constructible/Atmos/pipe.rsi
- type: Icon
sprite: Constructible/Atmos/pipe.rsi
- type: entity
parent: PipeBase
id: FourwayPipe
name: Fourway Pipe
id: PipeStraight
suffix: Straight
components:
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroupID: Pipe
pipeDirection: Lateral
- type: Icon
sprite: Constructible/Atmos/pipe.rsi
state: pipeFourway2
state: pipeStraight2
- type: entity
parent: PipeBase
id: PipeBend
suffix: Bend
components:
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroupID: Pipe
pipeDirection: SEBend
- type: Icon
state: pipeBend2
- type: entity
parent: PipeBase
id: PipeTJunction
suffix: TJunction
components:
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroupID: Pipe
pipeDirection: TEast
- type: Icon
state: pipeTJunction2
- type: entity
parent: PipeBase
id: PipeFourway
suffix: Fourway
components:
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroupID: Pipe
pipeDirection: Fourway
- type: entity
parent: PipeBase
id: LongitudinalPipe
name: Longitudinal Pipe
components:
- type: Icon
sprite: Constructible/Atmos/pipe.rsi
state: pipeLongitudinal2
- type: NodeContainer
nodes:
- !type:PipeNode
nodeGroupID: Pipe
pipeDirection: Longitudinal
state: pipeFourway2