makes conveyors to use machine linking & refactors machine linking a bit (#2464)

* makes conveyors to use machine linking & refactors machine linking a bit

* nullable errors

* temp commit, starting work on construction

* working recipies & graphs

* fixes crash

* makes items gravitate towards the center when on a conveyor

* makes conveyors take bool signal too

* ignores components clientside

* default arm
entitymanager
maxtransmitters
unsubscribe methods

* twowayLEVER

* _

* componentreference
struct

* yaml run
leverDefinitelyNotCopiedFromGirderNoNoNo dies today :(

* nullable

* no divide by 0

* making sloth happy

* space gone - happy?

* final fix

* yes

* adds item to lathe

* conveyor item -> conveyor assembly

* technology

* reviews ADRESSED

* Update Content.Shared/GameObjects/Verbs/VerbUtility.cs

Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
This commit is contained in:
Paul Ritter
2020-11-18 14:53:46 +01:00
committed by GitHub
parent 2cae1ac641
commit 501156f84c
24 changed files with 345 additions and 447 deletions

View File

@@ -102,6 +102,7 @@
- CableStack
- Crowbar
- Multitool
- ConveyorAssembly
- type: UserInterface
interfaces:
- key: enum.LatheUiKey.Key

View File

@@ -0,0 +1,57 @@
- type: constructionGraph
id: ConveyorGraph
start: start
graph:
- node: start
edges:
- to: entity
steps:
- component: ConveyorAssembly
icon:
sprite: Constructible/Power/conveyor.rsi
state: conveyor_loose
name: conveyor belt assembly
doAfter: 2
- node: item
entity: ConveyorBeltAssembly
actions:
- !type:SetAnchor
value: false
- node: entity
entity: ConveyorBelt
actions:
- !type:SetAnchor
value: true
- !type:SnapToGrid
offset: Center
edges:
- to: item
steps:
- tool: Prying
doAfter: 3
- type: constructionGraph
id: leverGraph
start: start
graph:
- node: start
actions:
- !type:SpawnPrototype
prototype: SteelSheet1
amount: 2
- !type:DeleteEntity {}
edges:
- to: lever
completed:
- !type:SnapToGrid {}
steps:
- material: Metal
amount: 2
doAfter: 1
- node: lever
entity: TwoWayLever
edges:
- to: start
steps:
- tool: Anchoring
doAfter: 1

View File

@@ -0,0 +1,26 @@
- type: construction
name: conveyor belt
id: conveyorbelt
graph: ConveyorGraph
startNode: start
targetNode: entity
category: Structures
description: A conveyor belt, commonly used to transport large numbers of items elsewhere quite quickly.
objectType: Structure
placementMode: SnapgridCenter
icon:
sprite: Constructible/Power/conveyor.rsi
state: conveyor_stopped_cw
- type: construction
name: two-way lever
id: twowaylever
graph: leverGraph
startNode: start
targetNode: lever
category: Structures
description: A lever to control machines. It has 3 modes.
objectType: Structure
icon:
sprite: Constructible/Power/conveyor.rsi
state: switch-off

View File

@@ -25,7 +25,8 @@
sprite: Constructible/Power/conveyor.rsi
state: conveyor_started_cw
drawdepth: FloorObjects
- type: SignalReceiver
maxTransmitters: 1
- type: Conveyor
- type: Appearance
visuals:
@@ -33,26 +34,23 @@
state_running: conveyor_started_cw
state_stopped: conveyor_stopped_cw
state_reversed: conveyor_started_cw_r
state_loose: conveyor_loose
- type: PowerReceiver
- type: Construction
graph: ConveyorGraph
node: entity
- type: entity
id: ConveyorSwitch
name: conveyor switch
description: A conveyor control switch.
id: ConveyorBeltAssembly
parent: BaseItem
name: conveyor belt
suffix: assembly
description: A conveyor belt assembly. Used to construct a conveyor belt.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
netsync: false
sprite: Constructible/Power/conveyor.rsi
state: switch-off
- type: ConveyorSwitch
- type: Appearance
visuals:
- type: ConveyorSwitchVisualizer
state_forward: switch-fwd
state_off: switch-off
state_reversed: switch-rev
state_loose: switch
- type: Sprite
netsync: false
sprite: Constructible/Power/conveyor.rsi
state: conveyor_loose
- type: ConveyorAssembly
- type: Construction
graph: ConveyorGraph
node: item

View File

@@ -0,0 +1,21 @@
- type: entity
id: TwoWayLever
name: two way switch
description: A two way switch.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
netsync: false
sprite: Constructible/Power/conveyor.rsi
state: switch-off
- type: TwoWayLever
- type: Appearance
visuals:
- type: TwoWayLeverVisualizer
state_forward: switch-fwd
state_off: switch-off
state_reversed: switch-rev
- type: Construction
graph: leverGraph
node: lever