{
  "AbilityMixins": [
    {
      "$type": "ActwithStateFrameMixin",
      "ConfigList": [
        {
          "ActionList": [
            {
              "$type": "RemoveModifier",
              "ModifierName": "AddInteractModifier",
              "Target": "Self"
            },
            {
              "$type": "PlayTextureSheetSequenceAction",
              "InterruptType": "Interrupt",
              "IsKeepLastFrame": true,
              "MeshPath": "Device_Prop_Switch_04",
              "Target": "Self",
              "TextureSheetKey": "InLevel_Switch_04_03"
            },
            {
              "$type": "TriggerAbilityAction",
              "AbilityName": "Device_Prop_Switch_04_Trigger"
            },
            {
              "$type": "SetAnimCtrlerParamAction",
              "BoolVal": true,
              "ParamName": "Bool_Dead",
              "ParamType": 2,
              "Predicates": [
                {
                  "$type": "ByAbilitySpecial",
                  "CompareType": "NotEqual",
                  "Param": 0,
                  "ParamName": "InteractMode",
                  "ParamType": "Integer"
                }
              ],
              "Target": "Self"
            }
          ],
          "AnimatorStateName": "Closing",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrame": false
        },
        {
          "ActionList": [
            {
              "$type": "ApplyModifier",
              "ModifierName": "AddInteractModifier",
              "Target": "Self"
            },
            {
              "$type": "PlayTextureSheetSequenceAction",
              "InterruptType": "Interrupt",
              "IsKeepLastFrame": true,
              "MeshPath": "Device_Prop_Switch_04",
              "Target": "Self",
              "TextureSheetKey": "InLevel_Switch_04_02"
            }
          ],
          "AnimatorStateName": "Opening",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrame": false,
          "Predicates": [
            {
              "$type": "ByAbilitySpecial",
              "CompareType": "Equal",
              "Param": 0,
              "ParamName": "InteractMode",
              "ParamType": "Integer"
            }
          ]
        },
        {
          "ActionList": [
            {
              "$type": "PlayTextureSheetSequenceAction",
              "InterruptType": "Interrupt",
              "IsKeepLastFrame": true,
              "MeshPath": "Device_Prop_Switch_04",
              "Predicates": [
                {
                  "$type": "ByTags",
                  "TagList": [
                    "NormalSwitch"
                  ],
                  "Target": "Self"
                }
              ],
              "Target": "Self",
              "TextureSheetKey": "InLevel_Switch_04_02"
            },
            {
              "$type": "PlayTextureSheetSequenceAction",
              "InterruptType": "Interrupt",
              "IsKeepLastFrame": true,
              "MeshPath": "Device_Prop_Switch_04",
              "Predicates": [
                {
                  "$type": "ByTags",
                  "TagList": [
                    "ColorBlock"
                  ],
                  "Target": "Self"
                }
              ],
              "Target": "Self",
              "TextureSheetKey": "InLevel_Switch_04_01"
            }
          ],
          "AnimatorStateName": "Idle",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrame": false
        },
        {
          "ActionList": [
            {
              "$type": "RemoveModifier",
              "ModifierName": "EffectModifier",
              "Target": "Self"
            },
            {
              "$type": "InterruptTextureSheetSequenceAction",
              "MeshPath": "Device_Prop_Switch_04",
              "Target": "Self",
              "TextureSheetKey": "InLevel_Switch_04_03"
            }
          ],
          "AnimatorStateName": "Dead",
          "ForceTriggerOnTransitionIn": true,
          "Frame": 0,
          "IsLoop": false,
          "LayerIndex": 0,
          "MaxFrame": false
        }
      ]
    }
  ],
  "AbilityName": "Device_Prop_Switch_04_Default",
  "AbilitySpecials": {
    "InteractMode": {
      "Value": 1
    }
  },
  "AbilityStacking": "Unique",
  "DefaultModifier": {
    "OnAdded": [
      {
        "$type": "ApplyModifier",
        "ModifierName": "EffectModifier",
        "Target": "Self"
      }
    ]
  },
  "Modifiers": {
    "AddInteractModifier": {
      "Duration": -1,
      "ModifierMixins": [
        {
          "$type": "AddInteractMixin",
          "InteractKey": "Device_Prop_Switch_04",
          "InteractTag": "Device_Prop_Switch_04",
          "IsMonopolize": false,
          "OnInteract": [
            {
              "$type": "ApplyModifier",
              "ModifierName": "OpenModifier",
              "Target": "Self"
            },
            {
              "$type": "RemoveModifier",
              "ModifierName": "OpenModifier",
              "Target": "Self"
            }
          ],
          "OnInteractForbidden": [
          ],
          "OnInteractRemove": [
          ]
        }
      ],
      "ModifierStacking": "Unique"
    },
    "EffectModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "AttachEffect",
          "AttachEffectPosRot": {
            "CoordsOption": "ReferTarget",
            "Offset": {
              "AngleOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              },
              "IsUseRotationXZ": true,
              "IsUseRotationY": true,
              "PositionOffset": {
                "x": 0,
                "y": 0,
                "z": 0
              }
            },
            "TargetOption": {
              "$type": "ConfigPosRotReferTarget",
              "AttachPoint": "ButtonLight",
              "IsUseAttachPointPos": true,
              "IsUseAttachPointRotation": true,
              "OffsetReferTarget": "Self"
            }
          },
          "EffectPattern": "Eff_Device_Prop_Switch_04_01_Light",
          "EnableByDevicePerformance": false,
          "Target": "Self"
        }
      ]
    },
    "OpenModifier": {
      "Duration": -1,
      "ModifierStacking": "Unique",
      "OnAdded": [
        {
          "$type": "SetAnimCtrlerParamAction",
          "ParamName": "Trigger_Activate",
          "ParamType": 1,
          "Target": "Self"
        }
      ]
    }
  },
  "OnAbilityStart": [
    {
      "$type": "ApplyModifier",
      "ModifierName": "AddInteractModifier",
      "Predicates": [
        {
          "$type": "ByAbilitySpecial",
          "CompareType": "NotEqual",
          "Param": 2,
          "ParamName": "InteractMode",
          "ParamType": "Integer"
        }
      ],
      "Target": "Self"
    }
  ]
}