- type: entity
  abstract: true
  parent: StructureHealthMachineStrong
  id: ParticleAcceleratorBase
  placement:
    mode: SnapgridCenter
  components:
  - type: InteractionOutline
  - type: Anchorable
  - type: Rotatable
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.45,-0.45,0.45,0.45"
        density: 190
        mask:
        - MachineMask
        layer:
        - MachineLayer
  - type: Transform
    anchored: true
    noRot: false
  - type: Pullable
  - type: Clickable
  - type: GuideHelp
    guides:
    - SingularityTeslaEngine
  - type: Appearance
  - type: AmbientMusicMarkerEngineering
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 275
      behaviors:
      - !type:SpawnEntitiesBehavior
        offset: 0
        spawn:
          MachineFrameDestroyed:
            min: 1
            max: 1
      - !type:PlaySoundBehavior
        sound:
          collection: MetalGlassBreak

- type: entity
  id: ParticleAcceleratorFinishedPart
  parent: ParticleAcceleratorBase
  abstract: true
  components:
  - type: Sprite
    layers:
    - state: completed
      map: [ "enum.ParticleAcceleratorVisualLayers.Base" ]
    - state: unlitp
      map: [ "enum.ParticleAcceleratorVisualLayers.Unlit" ]
      shader: unshaded
      visible: false
  - type: ParticleAcceleratorPartVisuals
    stateBase: unlit
  - type: Construction
    node: completed

- type: entity
  id: ParticleAcceleratorUnfinishedBase
  parent: ParticleAcceleratorBase
  abstract: true
  components:
  - type: Sprite
    layers:
    - state: unwired
      map: [ "enum.ConstructionVisuals.Layer" ]
  - type: GenericVisualizer
    visuals:
      enum.ConstructionVisuals.Key:
        enum.ConstructionVisuals.Layer:
          start: { state: unwired}
          wired: { state: wired}
  - type: Construction
    node: start
    defaultTarget: completed
