# SPDX-FileCopyrightText: 2024 TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: constructionGraph
  id: LogicGate
  start: start
  graph:
  - node: start
    edges:
    - to: empty
      steps:
      - material: Steel
        amount: 3
        doAfter: 1
  - node: empty
    entity: LogicEmptyCircuit
    edges:
    - to: start
      steps:
      - tool: Screwing
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: SheetSteel1
        amount: 3
      - !type:DeleteEntity {}
    - to: logic_gate
      steps:
      - material: Cable
        amount: 2
        doAfter: 1
    - to: edge_detector
      steps:
      - material: Glass
        amount: 2
        doAfter: 1
      - material: Cable
        amount: 2
        doAfter: 1
    - to: power_sensor
      steps:
      - tag: Multitool
        icon:
          sprite: Objects/Tools/multitool.rsi
          state: icon
        name: construction-graph-tag-multitool
      - material: Cable
        amount: 2
        doAfter: 1
    - to: memory_cell
      steps:
      - material: Manipulator
        amount: 2
      - material: Cable
        amount: 2
        doAfter: 1
    # Mono
    - to: timer
      steps:
      - material: Steel
        amount: 1
      - material: Cable
        amount: 2
        doAfter: 1
  - node: logic_gate
    entity: LogicGateOr
    edges:
    - to: empty
      steps:
      - tool: Prying
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 2
  - node: edge_detector
    entity: EdgeDetector
    edges:
    - to: empty
      steps:
      - tool: Prying
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: SheetGlass1
        amount: 2
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 2
  - node: power_sensor
    entity: PowerSensor
    edges:
    - to: empty
      steps:
      - tool: Prying
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: Multitool
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 2
  - node: memory_cell
    entity: MemoryCell
    edges:
    - to: empty
      steps:
      - tool: Prying
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: MicroManipulatorStockPart
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 2
  # Mono
  - node: timer
    entity: SignalTimerItem
    edges:
    - to: empty
      steps:
      - tool: Prying
        doAfter: 2
      completed:
      - !type:SpawnPrototype
        prototype: SheetSteel1
      - !type:SpawnPrototype
        prototype: CableApcStack1
        amount: 2
