Guest User

Untitled

a guest
Oct 3rd, 2024
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 118.07 KB | Source Code | 0 0
  1. {
  2.   "firstLayout": "",
  3.   "gdVersion": {
  4.     "build": 213,
  5.     "major": 5,
  6.     "minor": 4,
  7.     "revision": 0
  8.   },
  9.   "properties": {
  10.     "adaptGameResolutionAtRuntime": true,
  11.     "antialiasingMode": "MSAA",
  12.     "antialisingEnabledOnMobile": false,
  13.     "folderProject": false,
  14.     "orientation": "default",
  15.     "packageName": "com.example.gamename",
  16.     "pixelsRounding": true,
  17.     "projectUuid": "5c0875be-73e7-4f39-92cc-2f1d88d33c61",
  18.     "scaleMode": "nearest",
  19.     "sizeOnStartupMode": "adaptWidth",
  20.     "templateSlug": "",
  21.     "useExternalSourceFiles": false,
  22.     "version": "1.0.0",
  23.     "name": "per_daw",
  24.     "description": "",
  25.     "author": "",
  26.     "windowWidth": 1024,
  27.     "windowHeight": 768,
  28.     "latestCompilationDirectory": "",
  29.     "maxFPS": 60,
  30.     "minFPS": 20,
  31.     "verticalSync": false,
  32.     "platformSpecificAssets": {},
  33.     "loadingScreen": {
  34.       "backgroundColor": 0,
  35.       "backgroundFadeInDuration": 0.2,
  36.       "backgroundImageResourceName": "",
  37.       "gdevelopLogoStyle": "light",
  38.       "logoAndProgressFadeInDuration": 0.2,
  39.       "logoAndProgressLogoFadeInDelay": 0,
  40.       "minDuration": 1.5,
  41.       "progressBarColor": 16777215,
  42.       "progressBarHeight": 20,
  43.       "progressBarMaxWidth": 200,
  44.       "progressBarMinWidth": 40,
  45.       "progressBarWidthPercent": 30,
  46.       "showGDevelopSplash": true,
  47.       "showProgressBar": true
  48.     },
  49.     "watermark": {
  50.       "placement": "bottom-left",
  51.       "showWatermark": true
  52.     },
  53.     "authorIds": [],
  54.     "authorUsernames": [],
  55.     "categories": [],
  56.     "playableDevices": [],
  57.     "extensionProperties": [],
  58.     "platforms": [
  59.       {
  60.         "name": "GDevelop JS platform"
  61.       }
  62.     ],
  63.     "currentPlatform": "GDevelop JS platform"
  64.   },
  65.   "resources": {
  66.     "resources": [
  67.       {
  68.         "file": "resources/snd.wav",
  69.         "kind": "audio",
  70.         "metadata": "",
  71.         "name": "resources\\snd.wav",
  72.         "preloadAsMusic": false,
  73.         "preloadAsSound": true,
  74.         "preloadInCache": false,
  75.         "userAdded": true
  76.       }
  77.     ],
  78.     "resourceFolders": []
  79.   },
  80.   "objects": [],
  81.   "objectsFolderStructure": {
  82.     "folderName": "__ROOT"
  83.   },
  84.   "objectsGroups": [],
  85.   "variables": [
  86.     {
  87.       "folded": true,
  88.       "name": "num_a",
  89.       "type": "number",
  90.       "value": 0
  91.     },
  92.     {
  93.       "name": "notes",
  94.       "type": "array",
  95.       "children": [
  96.         {
  97.           "folded": true,
  98.           "type": "number",
  99.           "value": 1
  100.         },
  101.         {
  102.           "type": "number",
  103.           "value": 1.12246
  104.         },
  105.         {
  106.           "folded": true,
  107.           "type": "number",
  108.           "value": 1.25992
  109.         },
  110.         {
  111.           "type": "number",
  112.           "value": 1.33484
  113.         },
  114.         {
  115.           "type": "number",
  116.           "value": 1.49831
  117.         },
  118.         {
  119.           "type": "number",
  120.           "value": 1.68179
  121.         },
  122.         {
  123.           "type": "number",
  124.           "value": 1.88775
  125.         },
  126.         {
  127.           "folded": true,
  128.           "type": "number",
  129.           "value": 2
  130.         }
  131.       ]
  132.     }
  133.   ],
  134.   "layouts": [
  135.     {
  136.       "b": 17,
  137.       "disableInputWhenNotFocused": true,
  138.       "mangledName": "tst_95pitch",
  139.       "name": "tst_pitch",
  140.       "r": 17,
  141.       "standardSortMethod": true,
  142.       "stopSoundsOnStartup": true,
  143.       "title": "",
  144.       "v": 17,
  145.       "uiSettings": {
  146.         "grid": false,
  147.         "gridType": "rectangular",
  148.         "gridWidth": 32,
  149.         "gridHeight": 32,
  150.         "gridOffsetX": 0,
  151.         "gridOffsetY": 0,
  152.         "gridColor": 10401023,
  153.         "gridAlpha": 0.8,
  154.         "snap": false,
  155.         "zoomFactor": 0.3645833333333333,
  156.         "windowMask": false
  157.       },
  158.       "objectsGroups": [],
  159.       "variables": [],
  160.       "instances": [],
  161.       "objects": [],
  162.       "objectsFolderStructure": {
  163.         "folderName": "__ROOT"
  164.       },
  165.       "events": [
  166.         {
  167.           "type": "BuiltinCommonInstructions::Comment",
  168.           "color": {
  169.             "b": 109,
  170.             "g": 230,
  171.             "r": 255,
  172.             "textB": 0,
  173.             "textG": 0,
  174.             "textR": 0
  175.           },
  176.           "comment": "by perprerp\ngdv audio test\nfading audio out/in causes clipping\n\n"
  177.         },
  178.         {
  179.           "type": "BuiltinCommonInstructions::Standard",
  180.           "conditions": [
  181.             {
  182.               "type": {
  183.                 "value": "DepartScene"
  184.               },
  185.               "parameters": [
  186.                 ""
  187.               ]
  188.             }
  189.           ],
  190.           "actions": [
  191.             {
  192.               "type": {
  193.                 "value": "ResetTimer"
  194.               },
  195.               "parameters": [
  196.                 "",
  197.                 "\"tim_a\""
  198.               ]
  199.             },
  200.             {
  201.               "type": {
  202.                 "value": "ModVarGlobal"
  203.               },
  204.               "parameters": [
  205.                 "num_a",
  206.                 "=",
  207.                 "0"
  208.               ]
  209.             }
  210.           ]
  211.         },
  212.         {
  213.           "type": "BuiltinCommonInstructions::Standard",
  214.           "conditions": [
  215.             {
  216.               "type": {
  217.                 "value": "CompareTimer"
  218.               },
  219.               "parameters": [
  220.                 "",
  221.                 "\"tim_a\"",
  222.                 ">=",
  223.                 "1.5"
  224.               ]
  225.             }
  226.           ],
  227.           "actions": [
  228.             {
  229.               "type": {
  230.                 "value": "ResetTimer"
  231.               },
  232.               "parameters": [
  233.                 "",
  234.                 "\"tim_a\""
  235.               ]
  236.             },
  237.             {
  238.               "type": {
  239.                 "value": "PlaySoundCanal"
  240.               },
  241.               "parameters": [
  242.                 "",
  243.                 "resources\\snd.wav",
  244.                 "1",
  245.                 "",
  246.                 "100",
  247.                 "notes[ num_a ]"
  248.               ]
  249.             },
  250.             {
  251.               "type": {
  252.                 "value": "FadeSoundVolume"
  253.               },
  254.               "parameters": [
  255.                 "",
  256.                 "1",
  257.                 "0",
  258.                 "(sin( TimeFromStart() /1.47 )/2+0.5) * 1.35 + 0.1"
  259.               ]
  260.             },
  261.             {
  262.               "type": {
  263.                 "value": "ModVarGlobal"
  264.               },
  265.               "parameters": [
  266.                 "num_a",
  267.                 "+",
  268.                 "1"
  269.               ]
  270.             }
  271.           ],
  272.           "events": [
  273.             {
  274.               "type": "BuiltinCommonInstructions::Standard",
  275.               "conditions": [
  276.                 {
  277.                   "type": {
  278.                     "value": "VarGlobal"
  279.                   },
  280.                   "parameters": [
  281.                     "num_a",
  282.                     ">=",
  283.                     "GlobalVariableChildCount( notes )"
  284.                   ]
  285.                 }
  286.               ],
  287.               "actions": [
  288.                 {
  289.                   "type": {
  290.                     "value": "ModVarGlobal"
  291.                   },
  292.                   "parameters": [
  293.                     "num_a",
  294.                     "+",
  295.                     "-GlobalVariableChildCount( notes )"
  296.                   ]
  297.                 }
  298.               ]
  299.             }
  300.           ]
  301.         },
  302.         {
  303.           "type": "BuiltinCommonInstructions::Standard",
  304.           "conditions": [],
  305.           "actions": []
  306.         }
  307.       ],
  308.       "layers": [
  309.         {
  310.           "ambientLightColorB": 200,
  311.           "ambientLightColorG": 200,
  312.           "ambientLightColorR": 200,
  313.           "camera3DFarPlaneDistance": 10000,
  314.           "camera3DFieldOfView": 45,
  315.           "camera3DNearPlaneDistance": 3,
  316.           "cameraType": "",
  317.           "followBaseLayerCamera": false,
  318.           "isLightingLayer": false,
  319.           "isLocked": false,
  320.           "name": "",
  321.           "renderingType": "",
  322.           "visibility": true,
  323.           "cameras": [
  324.             {
  325.               "defaultSize": true,
  326.               "defaultViewport": true,
  327.               "height": 0,
  328.               "viewportBottom": 1,
  329.               "viewportLeft": 0,
  330.               "viewportRight": 1,
  331.               "viewportTop": 0,
  332.               "width": 0
  333.             }
  334.           ],
  335.           "effects": [
  336.             {
  337.               "effectType": "Scene3D::HemisphereLight",
  338.               "name": "3D Light",
  339.               "doubleParameters": {
  340.                 "elevation": 45,
  341.                 "intensity": 1,
  342.                 "rotation": 0
  343.               },
  344.               "stringParameters": {
  345.                 "groundColor": "64;64;64",
  346.                 "skyColor": "255;255;255",
  347.                 "top": "Y-"
  348.               },
  349.               "booleanParameters": {}
  350.             }
  351.           ]
  352.         }
  353.       ],
  354.       "behaviorsSharedData": []
  355.     }
  356.   ],
  357.   "externalEvents": [],
  358.   "eventsFunctionsExtensions": [
  359.     {
  360.       "author": "",
  361.       "category": "User interface",
  362.       "extensionNamespace": "",
  363.       "fullName": "Toggle switch",
  364.       "helpPath": "/objects/toggle-switch",
  365.       "iconUrl": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iSWNvbnMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzIgMzIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTIzLDIzSDljLTMuOSwwLTctMy4xLTctN3YwYzAtMy45LDMuMS03LDctN2gxNGMzLjksMCw3LDMuMSw3LDd2MEMzMCwxOS45LDI2LjksMjMsMjMsMjN6Ii8+DQo8Y2lyY2xlIGNsYXNzPSJzdDAiIGN4PSI5IiBjeT0iMTYiIHI9IjQiLz4NCjwvc3ZnPg0K",
  366.       "name": "SpriteToggleSwitch",
  367.       "previewIconUrl": "https://asset-resources.gdevelop.io/public-resources/Icons/Line Hero Pack/Master/SVG/Interface Elements/8d0cd8cd0c9318f4f6efde6ee6b4c192bd19306467f80c9970387a259300f895_Interface Elements_interface_ui_toggle_switch_on_off.svg",
  368.       "shortDescription": "Toggle switch that users can click or touch.",
  369.       "version": "1.3.1",
  370.       "description": [
  371.         "Toggle switch that users can click or touch. The switch can be customized with sprites.",
  372.         "",
  373.         "There are ready-to-use toggle switches in the asset-store [settings UI pack](https://editor.gdevelop.io/?initial-dialog=asset-store&asset-pack=settings-ui-settings-ui)."
  374.       ],
  375.       "origin": {
  376.         "identifier": "SpriteToggleSwitch",
  377.         "name": "gdevelop-extension-store"
  378.       },
  379.       "tags": [
  380.         "ui",
  381.         "widget",
  382.         "toggle",
  383.         "switch",
  384.         "check box"
  385.       ],
  386.       "authorIds": [
  387.         "IWykYNRvhCZBN3vEgKEbBPOR3Oc2",
  388.         "gqDaZjCfevOOxBYkK6zlhtZnXCg1"
  389.       ],
  390.       "dependencies": [],
  391.       "globalVariables": [],
  392.       "sceneVariables": [],
  393.       "eventsFunctions": [],
  394.       "eventsBasedBehaviors": [
  395.         {
  396.           "description": "The finite state machine used internally by the switch object.",
  397.           "fullName": "Switch finite state machine",
  398.           "name": "SwitchFSM",
  399.           "objectType": "",
  400.           "private": true,
  401.           "eventsFunctions": [
  402.             {
  403.               "fullName": "",
  404.               "functionType": "Action",
  405.               "name": "doStepPreEvents",
  406.               "sentence": "",
  407.               "events": [
  408.                 {
  409.                   "type": "BuiltinCommonInstructions::Standard",
  410.                   "conditions": [],
  411.                   "actions": [
  412.                     {
  413.                       "type": {
  414.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyWasChecked"
  415.                       },
  416.                       "parameters": [
  417.                         "Object",
  418.                         "Behavior",
  419.                         "no"
  420.                       ]
  421.                     }
  422.                   ]
  423.                 },
  424.                 {
  425.                   "type": "BuiltinCommonInstructions::Standard",
  426.                   "conditions": [
  427.                     {
  428.                       "type": {
  429.                         "value": "SpriteToggleSwitch::SwitchFSM::IsChecked"
  430.                       },
  431.                       "parameters": [
  432.                         "Object",
  433.                         "Behavior",
  434.                         ""
  435.                       ]
  436.                     }
  437.                   ],
  438.                   "actions": [
  439.                     {
  440.                       "type": {
  441.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyWasChecked"
  442.                       },
  443.                       "parameters": [
  444.                         "Object",
  445.                         "Behavior",
  446.                         "yes"
  447.                       ]
  448.                     }
  449.                   ]
  450.                 },
  451.                 {
  452.                   "type": "BuiltinCommonInstructions::Standard",
  453.                   "conditions": [
  454.                     {
  455.                       "type": {
  456.                         "value": "SpriteToggleSwitch::ButtonFSM::IsClicked"
  457.                       },
  458.                       "parameters": [
  459.                         "Object",
  460.                         "ButtonFSM",
  461.                         ""
  462.                       ]
  463.                     }
  464.                   ],
  465.                   "actions": [
  466.                     {
  467.                       "type": {
  468.                         "value": "SpriteToggleSwitch::SwitchFSM::TogglePropertyIsChecked"
  469.                       },
  470.                       "parameters": [
  471.                         "Object",
  472.                         "Behavior"
  473.                       ]
  474.                     }
  475.                   ]
  476.                 }
  477.               ],
  478.               "parameters": [
  479.                 {
  480.                   "description": "Object",
  481.                   "name": "Object",
  482.                   "type": "object"
  483.                 },
  484.                 {
  485.                   "description": "Behavior",
  486.                   "name": "Behavior",
  487.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  488.                   "type": "behavior"
  489.                 }
  490.               ],
  491.               "objectGroups": []
  492.             },
  493.             {
  494.               "description": "Check if the toggle switch is checked.",
  495.               "fullName": "Is checked",
  496.               "functionType": "Condition",
  497.               "name": "IsChecked",
  498.               "sentence": "_PARAM0_ is checked",
  499.               "events": [
  500.                 {
  501.                   "type": "BuiltinCommonInstructions::Standard",
  502.                   "conditions": [
  503.                     {
  504.                       "type": {
  505.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyIsChecked"
  506.                       },
  507.                       "parameters": [
  508.                         "Object",
  509.                         "Behavior"
  510.                       ]
  511.                     }
  512.                   ],
  513.                   "actions": [
  514.                     {
  515.                       "type": {
  516.                         "value": "SetReturnBoolean"
  517.                       },
  518.                       "parameters": [
  519.                         "True"
  520.                       ]
  521.                     }
  522.                   ]
  523.                 }
  524.               ],
  525.               "parameters": [
  526.                 {
  527.                   "description": "Object",
  528.                   "name": "Object",
  529.                   "type": "object"
  530.                 },
  531.                 {
  532.                   "description": "Behavior",
  533.                   "name": "Behavior",
  534.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  535.                   "type": "behavior"
  536.                 }
  537.               ],
  538.               "objectGroups": []
  539.             },
  540.             {
  541.               "description": "Check if the toggle switch was checked in the current frame.",
  542.               "fullName": "Has just been checked",
  543.               "functionType": "Condition",
  544.               "name": "HasJustBeenChecked",
  545.               "sentence": "_PARAM0_ has just been checked",
  546.               "events": [
  547.                 {
  548.                   "type": "BuiltinCommonInstructions::Standard",
  549.                   "conditions": [
  550.                     {
  551.                       "type": {
  552.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyIsChecked"
  553.                       },
  554.                       "parameters": [
  555.                         "Object",
  556.                         "Behavior"
  557.                       ]
  558.                     },
  559.                     {
  560.                       "type": {
  561.                         "inverted": true,
  562.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyWasChecked"
  563.                       },
  564.                       "parameters": [
  565.                         "Object",
  566.                         "Behavior"
  567.                       ]
  568.                     }
  569.                   ],
  570.                   "actions": [
  571.                     {
  572.                       "type": {
  573.                         "value": "SetReturnBoolean"
  574.                       },
  575.                       "parameters": [
  576.                         "True"
  577.                       ]
  578.                     }
  579.                   ]
  580.                 }
  581.               ],
  582.               "parameters": [
  583.                 {
  584.                   "description": "Object",
  585.                   "name": "Object",
  586.                   "type": "object"
  587.                 },
  588.                 {
  589.                   "description": "Behavior",
  590.                   "name": "Behavior",
  591.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  592.                   "type": "behavior"
  593.                 }
  594.               ],
  595.               "objectGroups": []
  596.             },
  597.             {
  598.               "description": "Check if the toggle switch was unchecked in the current frame.",
  599.               "fullName": "Has just been unchecked",
  600.               "functionType": "Condition",
  601.               "name": "HasJustBeenUnchecked",
  602.               "sentence": "_PARAM0_ has just been unchecked",
  603.               "events": [
  604.                 {
  605.                   "type": "BuiltinCommonInstructions::Standard",
  606.                   "conditions": [
  607.                     {
  608.                       "type": {
  609.                         "inverted": true,
  610.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyIsChecked"
  611.                       },
  612.                       "parameters": [
  613.                         "Object",
  614.                         "Behavior"
  615.                       ]
  616.                     },
  617.                     {
  618.                       "type": {
  619.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyWasChecked"
  620.                       },
  621.                       "parameters": [
  622.                         "Object",
  623.                         "Behavior"
  624.                       ]
  625.                     }
  626.                   ],
  627.                   "actions": [
  628.                     {
  629.                       "type": {
  630.                         "value": "SetReturnBoolean"
  631.                       },
  632.                       "parameters": [
  633.                         "True"
  634.                       ]
  635.                     }
  636.                   ]
  637.                 }
  638.               ],
  639.               "parameters": [
  640.                 {
  641.                   "description": "Object",
  642.                   "name": "Object",
  643.                   "type": "object"
  644.                 },
  645.                 {
  646.                   "description": "Behavior",
  647.                   "name": "Behavior",
  648.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  649.                   "type": "behavior"
  650.                 }
  651.               ],
  652.               "objectGroups": []
  653.             },
  654.             {
  655.               "description": "Check if the toggle switch was toggled in the current frame.",
  656.               "fullName": "Has just been toggled",
  657.               "functionType": "Condition",
  658.               "name": "HasJustBeenToggled",
  659.               "sentence": "_PARAM0_ has just been toggled",
  660.               "events": [
  661.                 {
  662.                   "type": "BuiltinCommonInstructions::Standard",
  663.                   "conditions": [
  664.                     {
  665.                       "type": {
  666.                         "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenChecked"
  667.                       },
  668.                       "parameters": [
  669.                         "Object",
  670.                         "Behavior",
  671.                         ""
  672.                       ]
  673.                     }
  674.                   ],
  675.                   "actions": [
  676.                     {
  677.                       "type": {
  678.                         "value": "SetReturnBoolean"
  679.                       },
  680.                       "parameters": [
  681.                         "True"
  682.                       ]
  683.                     }
  684.                   ]
  685.                 },
  686.                 {
  687.                   "type": "BuiltinCommonInstructions::Standard",
  688.                   "conditions": [
  689.                     {
  690.                       "type": {
  691.                         "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenUnchecked"
  692.                       },
  693.                       "parameters": [
  694.                         "Object",
  695.                         "Behavior",
  696.                         ""
  697.                       ]
  698.                     }
  699.                   ],
  700.                   "actions": [
  701.                     {
  702.                       "type": {
  703.                         "value": "SetReturnBoolean"
  704.                       },
  705.                       "parameters": [
  706.                         "True"
  707.                       ]
  708.                     }
  709.                   ]
  710.                 }
  711.               ],
  712.               "parameters": [
  713.                 {
  714.                   "description": "Object",
  715.                   "name": "Object",
  716.                   "type": "object"
  717.                 },
  718.                 {
  719.                   "description": "Behavior",
  720.                   "name": "Behavior",
  721.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  722.                   "type": "behavior"
  723.                 }
  724.               ],
  725.               "objectGroups": []
  726.             },
  727.             {
  728.               "description": "Check (or uncheck) the toggle switch.",
  729.               "fullName": "Check (or uncheck)",
  730.               "functionType": "Action",
  731.               "name": "SetChecked",
  732.               "sentence": "Check _PARAM0_: _PARAM2_",
  733.               "events": [
  734.                 {
  735.                   "type": "BuiltinCommonInstructions::Comment",
  736.                   "color": {
  737.                     "b": 109,
  738.                     "g": 230,
  739.                     "r": 255,
  740.                     "textB": 0,
  741.                     "textG": 0,
  742.                     "textR": 0
  743.                   },
  744.                   "comment": "Avoid a started touch to interfere with a state change from events."
  745.                 },
  746.                 {
  747.                   "type": "BuiltinCommonInstructions::Standard",
  748.                   "conditions": [
  749.                     {
  750.                       "type": {
  751.                         "value": "BuiltinCommonInstructions::Or"
  752.                       },
  753.                       "parameters": [],
  754.                       "subInstructions": [
  755.                         {
  756.                           "type": {
  757.                             "value": "BuiltinCommonInstructions::And"
  758.                           },
  759.                           "parameters": [],
  760.                           "subInstructions": [
  761.                             {
  762.                               "type": {
  763.                                 "inverted": true,
  764.                                 "value": "GetArgumentAsBoolean"
  765.                               },
  766.                               "parameters": [
  767.                                 "\"Value\""
  768.                               ]
  769.                             },
  770.                             {
  771.                               "type": {
  772.                                 "value": "SpriteToggleSwitch::SwitchFSM::IsChecked"
  773.                               },
  774.                               "parameters": [
  775.                                 "Object",
  776.                                 "Behavior",
  777.                                 ""
  778.                               ]
  779.                             }
  780.                           ]
  781.                         },
  782.                         {
  783.                           "type": {
  784.                             "value": "BuiltinCommonInstructions::And"
  785.                           },
  786.                           "parameters": [],
  787.                           "subInstructions": [
  788.                             {
  789.                               "type": {
  790.                                 "value": "GetArgumentAsBoolean"
  791.                               },
  792.                               "parameters": [
  793.                                 "\"Value\""
  794.                               ]
  795.                             },
  796.                             {
  797.                               "type": {
  798.                                 "inverted": true,
  799.                                 "value": "SpriteToggleSwitch::SwitchFSM::IsChecked"
  800.                               },
  801.                               "parameters": [
  802.                                 "Object",
  803.                                 "Behavior",
  804.                                 ""
  805.                               ]
  806.                             }
  807.                           ]
  808.                         }
  809.                       ]
  810.                     }
  811.                   ],
  812.                   "actions": [
  813.                     {
  814.                       "type": {
  815.                         "value": "SpriteToggleSwitch::ButtonFSM::ResetState"
  816.                       },
  817.                       "parameters": [
  818.                         "Object",
  819.                         "ButtonFSM",
  820.                         ""
  821.                       ]
  822.                     }
  823.                   ]
  824.                 },
  825.                 {
  826.                   "type": "BuiltinCommonInstructions::Standard",
  827.                   "conditions": [
  828.                     {
  829.                       "type": {
  830.                         "inverted": true,
  831.                         "value": "GetArgumentAsBoolean"
  832.                       },
  833.                       "parameters": [
  834.                         "\"Value\""
  835.                       ]
  836.                     }
  837.                   ],
  838.                   "actions": [
  839.                     {
  840.                       "type": {
  841.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyIsChecked"
  842.                       },
  843.                       "parameters": [
  844.                         "Object",
  845.                         "Behavior",
  846.                         "no"
  847.                       ]
  848.                     }
  849.                   ]
  850.                 },
  851.                 {
  852.                   "type": "BuiltinCommonInstructions::Standard",
  853.                   "conditions": [
  854.                     {
  855.                       "type": {
  856.                         "value": "GetArgumentAsBoolean"
  857.                       },
  858.                       "parameters": [
  859.                         "\"Value\""
  860.                       ]
  861.                     }
  862.                   ],
  863.                   "actions": [
  864.                     {
  865.                       "type": {
  866.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyIsChecked"
  867.                       },
  868.                       "parameters": [
  869.                         "Object",
  870.                         "Behavior",
  871.                         "yes"
  872.                       ]
  873.                     }
  874.                   ]
  875.                 }
  876.               ],
  877.               "parameters": [
  878.                 {
  879.                   "description": "Object",
  880.                   "name": "Object",
  881.                   "type": "object"
  882.                 },
  883.                 {
  884.                   "description": "Behavior",
  885.                   "name": "Behavior",
  886.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  887.                   "type": "behavior"
  888.                 },
  889.                 {
  890.                   "defaultValue": "yes",
  891.                   "description": "IsChecked",
  892.                   "name": "Value",
  893.                   "optional": true,
  894.                   "type": "yesorno"
  895.                 }
  896.               ],
  897.               "objectGroups": []
  898.             },
  899.             {
  900.               "description": "Toggle the switch.",
  901.               "fullName": "Toggle",
  902.               "functionType": "Action",
  903.               "name": "ToggleChecked",
  904.               "sentence": "Toggle _PARAM0_",
  905.               "events": [
  906.                 {
  907.                   "type": "BuiltinCommonInstructions::Standard",
  908.                   "conditions": [],
  909.                   "actions": [
  910.                     {
  911.                       "type": {
  912.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyPreviousIsChecked"
  913.                       },
  914.                       "parameters": [
  915.                         "Object",
  916.                         "Behavior",
  917.                         ""
  918.                       ]
  919.                     }
  920.                   ]
  921.                 },
  922.                 {
  923.                   "type": "BuiltinCommonInstructions::Standard",
  924.                   "conditions": [
  925.                     {
  926.                       "type": {
  927.                         "value": "SpriteToggleSwitch::SwitchFSM::IsChecked"
  928.                       },
  929.                       "parameters": [
  930.                         "Object",
  931.                         "Behavior",
  932.                         ""
  933.                       ]
  934.                     }
  935.                   ],
  936.                   "actions": [
  937.                     {
  938.                       "type": {
  939.                         "value": "SpriteToggleSwitch::SwitchFSM::SetPropertyPreviousIsChecked"
  940.                       },
  941.                       "parameters": [
  942.                         "Object",
  943.                         "Behavior",
  944.                         "yes"
  945.                       ]
  946.                     }
  947.                   ]
  948.                 },
  949.                 {
  950.                   "type": "BuiltinCommonInstructions::Standard",
  951.                   "conditions": [
  952.                     {
  953.                       "type": {
  954.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyPreviousIsChecked"
  955.                       },
  956.                       "parameters": [
  957.                         "Object",
  958.                         "Behavior"
  959.                       ]
  960.                     }
  961.                   ],
  962.                   "actions": [
  963.                     {
  964.                       "type": {
  965.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  966.                       },
  967.                       "parameters": [
  968.                         "Object",
  969.                         "Behavior",
  970.                         "no",
  971.                         ""
  972.                       ]
  973.                     }
  974.                   ]
  975.                 },
  976.                 {
  977.                   "type": "BuiltinCommonInstructions::Standard",
  978.                   "conditions": [
  979.                     {
  980.                       "type": {
  981.                         "inverted": true,
  982.                         "value": "SpriteToggleSwitch::SwitchFSM::PropertyPreviousIsChecked"
  983.                       },
  984.                       "parameters": [
  985.                         "Object",
  986.                         "Behavior"
  987.                       ]
  988.                     }
  989.                   ],
  990.                   "actions": [
  991.                     {
  992.                       "type": {
  993.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  994.                       },
  995.                       "parameters": [
  996.                         "Object",
  997.                         "Behavior",
  998.                         "yes",
  999.                         ""
  1000.                       ]
  1001.                     }
  1002.                   ]
  1003.                 }
  1004.               ],
  1005.               "parameters": [
  1006.                 {
  1007.                   "description": "Object",
  1008.                   "name": "Object",
  1009.                   "type": "object"
  1010.                 },
  1011.                 {
  1012.                   "description": "Behavior",
  1013.                   "name": "Behavior",
  1014.                   "supplementaryInformation": "SpriteToggleSwitch::SwitchFSM",
  1015.                   "type": "behavior"
  1016.                 }
  1017.               ],
  1018.               "objectGroups": []
  1019.             }
  1020.           ],
  1021.           "propertyDescriptors": [
  1022.             {
  1023.               "value": "",
  1024.               "type": "Behavior",
  1025.               "label": "Button finite state machine",
  1026.               "description": "",
  1027.               "group": "",
  1028.               "extraInformation": [
  1029.                 "SpriteToggleSwitch::ButtonFSM"
  1030.               ],
  1031.               "name": "ButtonFSM"
  1032.             },
  1033.             {
  1034.               "value": "false",
  1035.               "type": "Boolean",
  1036.               "label": "Is checked",
  1037.               "description": "",
  1038.               "group": "",
  1039.               "extraInformation": [],
  1040.               "name": "IsChecked"
  1041.             },
  1042.             {
  1043.               "value": "",
  1044.               "type": "Boolean",
  1045.               "label": "",
  1046.               "description": "",
  1047.               "group": "",
  1048.               "extraInformation": [],
  1049.               "name": "PreviousIsChecked"
  1050.             },
  1051.             {
  1052.               "value": "",
  1053.               "type": "Boolean",
  1054.               "label": "",
  1055.               "description": "",
  1056.               "group": "",
  1057.               "extraInformation": [],
  1058.               "hidden": true,
  1059.               "name": "WasChecked"
  1060.             }
  1061.           ],
  1062.           "sharedPropertyDescriptors": []
  1063.         },
  1064.         {
  1065.           "description": "The finite state machine used internally by the button object.",
  1066.           "fullName": "Button finite state machine",
  1067.           "name": "ButtonFSM",
  1068.           "objectType": "",
  1069.           "private": true,
  1070.           "eventsFunctions": [
  1071.             {
  1072.               "fullName": "",
  1073.               "functionType": "Action",
  1074.               "name": "doStepPostEvents",
  1075.               "sentence": "",
  1076.               "events": [
  1077.                 {
  1078.                   "colorB": 228,
  1079.                   "colorG": 176,
  1080.                   "colorR": 74,
  1081.                   "creationTime": 0,
  1082.                   "name": "Finite state machine",
  1083.                   "source": "",
  1084.                   "type": "BuiltinCommonInstructions::Group",
  1085.                   "events": [
  1086.                     {
  1087.                       "type": "BuiltinCommonInstructions::Comment",
  1088.                       "color": {
  1089.                         "b": 109,
  1090.                         "g": 230,
  1091.                         "r": 255,
  1092.                         "textB": 0,
  1093.                         "textG": 0,
  1094.                         "textR": 0
  1095.                       },
  1096.                       "comment": "The \"Validated\" state only last one frame."
  1097.                     },
  1098.                     {
  1099.                       "type": "BuiltinCommonInstructions::Standard",
  1100.                       "conditions": [
  1101.                         {
  1102.                           "type": {
  1103.                             "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1104.                           },
  1105.                           "parameters": [
  1106.                             "Object",
  1107.                             "Behavior",
  1108.                             "=",
  1109.                             "\"Validated\""
  1110.                           ]
  1111.                         }
  1112.                       ],
  1113.                       "actions": [
  1114.                         {
  1115.                           "type": {
  1116.                             "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1117.                           },
  1118.                           "parameters": [
  1119.                             "Object",
  1120.                             "Behavior",
  1121.                             "=",
  1122.                             "\"Idle\""
  1123.                           ]
  1124.                         }
  1125.                       ]
  1126.                     },
  1127.                     {
  1128.                       "colorB": 228,
  1129.                       "colorG": 176,
  1130.                       "colorR": 74,
  1131.                       "creationTime": 0,
  1132.                       "name": "Check position",
  1133.                       "source": "",
  1134.                       "type": "BuiltinCommonInstructions::Group",
  1135.                       "events": [
  1136.                         {
  1137.                           "type": "BuiltinCommonInstructions::Comment",
  1138.                           "color": {
  1139.                             "b": 109,
  1140.                             "g": 230,
  1141.                             "r": 255,
  1142.                             "textB": 0,
  1143.                             "textG": 0,
  1144.                             "textR": 0
  1145.                           },
  1146.                           "comment": "Make sure the cursor position is only checked once per frame."
  1147.                         },
  1148.                         {
  1149.                           "type": "BuiltinCommonInstructions::Standard",
  1150.                           "conditions": [],
  1151.                           "actions": [
  1152.                             {
  1153.                               "type": {
  1154.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyMouseIsInside"
  1155.                               },
  1156.                               "parameters": [
  1157.                                 "Object",
  1158.                                 "Behavior",
  1159.                                 "no"
  1160.                               ]
  1161.                             }
  1162.                           ]
  1163.                         },
  1164.                         {
  1165.                           "type": "BuiltinCommonInstructions::Standard",
  1166.                           "conditions": [
  1167.                             {
  1168.                               "type": {
  1169.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyShouldCheckHovering"
  1170.                               },
  1171.                               "parameters": [
  1172.                                 "Object",
  1173.                                 "Behavior"
  1174.                               ]
  1175.                             },
  1176.                             {
  1177.                               "type": {
  1178.                                 "value": "CollisionPoint"
  1179.                               },
  1180.                               "parameters": [
  1181.                                 "Object",
  1182.                                 "MouseOnlyCursorX(Object.Layer(), 0)",
  1183.                                 "MouseOnlyCursorY(Object.Layer(), 0)"
  1184.                               ]
  1185.                             }
  1186.                           ],
  1187.                           "actions": [
  1188.                             {
  1189.                               "type": {
  1190.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyMouseIsInside"
  1191.                               },
  1192.                               "parameters": [
  1193.                                 "Object",
  1194.                                 "Behavior",
  1195.                                 "yes"
  1196.                               ]
  1197.                             }
  1198.                           ]
  1199.                         },
  1200.                         {
  1201.                           "type": "BuiltinCommonInstructions::Comment",
  1202.                           "color": {
  1203.                             "b": 109,
  1204.                             "g": 230,
  1205.                             "r": 255,
  1206.                             "textB": 0,
  1207.                             "textG": 0,
  1208.                             "textR": 0
  1209.                           },
  1210.                           "comment": "Touches are always pressed, so ShouldCheckHovering doesn't matter."
  1211.                         },
  1212.                         {
  1213.                           "type": "BuiltinCommonInstructions::Standard",
  1214.                           "conditions": [],
  1215.                           "actions": [
  1216.                             {
  1217.                               "type": {
  1218.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchIsInside"
  1219.                               },
  1220.                               "parameters": [
  1221.                                 "Object",
  1222.                                 "Behavior",
  1223.                                 "no"
  1224.                               ]
  1225.                             }
  1226.                           ]
  1227.                         },
  1228.                         {
  1229.                           "type": "BuiltinCommonInstructions::Standard",
  1230.                           "conditions": [
  1231.                             {
  1232.                               "type": {
  1233.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyTouchId"
  1234.                               },
  1235.                               "parameters": [
  1236.                                 "Object",
  1237.                                 "Behavior",
  1238.                                 "!=",
  1239.                                 "0"
  1240.                               ]
  1241.                             },
  1242.                             {
  1243.                               "type": {
  1244.                                 "value": "CollisionPoint"
  1245.                               },
  1246.                               "parameters": [
  1247.                                 "Object",
  1248.                                 "TouchX(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)",
  1249.                                 "TouchY(Object.Behavior::PropertyTouchId(), Object.Layer(), 0)"
  1250.                               ]
  1251.                             }
  1252.                           ],
  1253.                           "actions": [
  1254.                             {
  1255.                               "type": {
  1256.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchIsInside"
  1257.                               },
  1258.                               "parameters": [
  1259.                                 "Object",
  1260.                                 "Behavior",
  1261.                                 "yes"
  1262.                               ]
  1263.                             }
  1264.                           ]
  1265.                         }
  1266.                       ],
  1267.                       "parameters": []
  1268.                     },
  1269.                     {
  1270.                       "colorB": 228,
  1271.                       "colorG": 176,
  1272.                       "colorR": 74,
  1273.                       "creationTime": 0,
  1274.                       "name": "Handle touch start",
  1275.                       "source": "",
  1276.                       "type": "BuiltinCommonInstructions::Group",
  1277.                       "events": [
  1278.                         {
  1279.                           "type": "BuiltinCommonInstructions::Standard",
  1280.                           "conditions": [
  1281.                             {
  1282.                               "type": {
  1283.                                 "value": "HasAnyTouchOrMouseStarted"
  1284.                               },
  1285.                               "parameters": [
  1286.                                 ""
  1287.                               ]
  1288.                             }
  1289.                           ],
  1290.                           "actions": [
  1291.                             {
  1292.                               "type": {
  1293.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyIndex"
  1294.                               },
  1295.                               "parameters": [
  1296.                                 "Object",
  1297.                                 "Behavior",
  1298.                                 "=",
  1299.                                 "0"
  1300.                               ]
  1301.                             }
  1302.                           ],
  1303.                           "events": [
  1304.                             {
  1305.                               "type": "BuiltinCommonInstructions::Repeat",
  1306.                               "repeatExpression": "StartedTouchOrMouseCount()",
  1307.                               "conditions": [],
  1308.                               "actions": [],
  1309.                               "events": [
  1310.                                 {
  1311.                                   "type": "BuiltinCommonInstructions::Standard",
  1312.                                   "conditions": [
  1313.                                     {
  1314.                                       "type": {
  1315.                                         "value": "CollisionPoint"
  1316.                                       },
  1317.                                       "parameters": [
  1318.                                         "Object",
  1319.                                         "TouchX(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)",
  1320.                                         "TouchY(StartedTouchOrMouseId(Object.Behavior::PropertyIndex()), Object.Layer(), 0)"
  1321.                                       ]
  1322.                                     }
  1323.                                   ],
  1324.                                   "actions": [
  1325.                                     {
  1326.                                       "type": {
  1327.                                         "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchId"
  1328.                                       },
  1329.                                       "parameters": [
  1330.                                         "Object",
  1331.                                         "Behavior",
  1332.                                         "=",
  1333.                                         "StartedTouchOrMouseId(Object.Behavior::PropertyIndex())"
  1334.                                       ]
  1335.                                     },
  1336.                                     {
  1337.                                       "type": {
  1338.                                         "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchIsInside"
  1339.                                       },
  1340.                                       "parameters": [
  1341.                                         "Object",
  1342.                                         "Behavior",
  1343.                                         "yes"
  1344.                                       ]
  1345.                                     }
  1346.                                   ],
  1347.                                   "events": [
  1348.                                     {
  1349.                                       "type": "BuiltinCommonInstructions::Standard",
  1350.                                       "conditions": [
  1351.                                         {
  1352.                                           "type": {
  1353.                                             "value": "BuiltinCommonInstructions::Or"
  1354.                                           },
  1355.                                           "parameters": [],
  1356.                                           "subInstructions": [
  1357.                                             {
  1358.                                               "type": {
  1359.                                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1360.                                               },
  1361.                                               "parameters": [
  1362.                                                 "Object",
  1363.                                                 "Behavior",
  1364.                                                 "=",
  1365.                                                 "\"Hovered\""
  1366.                                               ]
  1367.                                             },
  1368.                                             {
  1369.                                               "type": {
  1370.                                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1371.                                               },
  1372.                                               "parameters": [
  1373.                                                 "Object",
  1374.                                                 "Behavior",
  1375.                                                 "=",
  1376.                                                 "\"Idle\""
  1377.                                               ]
  1378.                                             }
  1379.                                           ]
  1380.                                         }
  1381.                                       ],
  1382.                                       "actions": [
  1383.                                         {
  1384.                                           "type": {
  1385.                                             "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1386.                                           },
  1387.                                           "parameters": [
  1388.                                             "Object",
  1389.                                             "Behavior",
  1390.                                             "=",
  1391.                                             "\"PressedInside\""
  1392.                                           ]
  1393.                                         }
  1394.                                       ]
  1395.                                     }
  1396.                                   ]
  1397.                                 },
  1398.                                 {
  1399.                                   "type": "BuiltinCommonInstructions::Standard",
  1400.                                   "conditions": [],
  1401.                                   "actions": [
  1402.                                     {
  1403.                                       "type": {
  1404.                                         "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyIndex"
  1405.                                       },
  1406.                                       "parameters": [
  1407.                                         "Object",
  1408.                                         "Behavior",
  1409.                                         "+",
  1410.                                         "1"
  1411.                                       ]
  1412.                                     }
  1413.                                   ]
  1414.                                 }
  1415.                               ]
  1416.                             }
  1417.                           ]
  1418.                         }
  1419.                       ],
  1420.                       "parameters": []
  1421.                     },
  1422.                     {
  1423.                       "colorB": 228,
  1424.                       "colorG": 176,
  1425.                       "colorR": 74,
  1426.                       "creationTime": 0,
  1427.                       "name": "Apply position changes",
  1428.                       "source": "",
  1429.                       "type": "BuiltinCommonInstructions::Group",
  1430.                       "events": [
  1431.                         {
  1432.                           "type": "BuiltinCommonInstructions::Standard",
  1433.                           "conditions": [
  1434.                             {
  1435.                               "type": {
  1436.                                 "inverted": true,
  1437.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyMouseIsInside"
  1438.                               },
  1439.                               "parameters": [
  1440.                                 "Object",
  1441.                                 "Behavior"
  1442.                               ]
  1443.                             },
  1444.                             {
  1445.                               "type": {
  1446.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1447.                               },
  1448.                               "parameters": [
  1449.                                 "Object",
  1450.                                 "Behavior",
  1451.                                 "=",
  1452.                                 "\"Hovered\""
  1453.                               ]
  1454.                             }
  1455.                           ],
  1456.                           "actions": [
  1457.                             {
  1458.                               "type": {
  1459.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1460.                               },
  1461.                               "parameters": [
  1462.                                 "Object",
  1463.                                 "Behavior",
  1464.                                 "=",
  1465.                                 "\"Idle\""
  1466.                               ]
  1467.                             }
  1468.                           ]
  1469.                         },
  1470.                         {
  1471.                           "type": "BuiltinCommonInstructions::Standard",
  1472.                           "conditions": [
  1473.                             {
  1474.                               "type": {
  1475.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyMouseIsInside"
  1476.                               },
  1477.                               "parameters": [
  1478.                                 "Object",
  1479.                                 "Behavior"
  1480.                               ]
  1481.                             },
  1482.                             {
  1483.                               "type": {
  1484.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1485.                               },
  1486.                               "parameters": [
  1487.                                 "Object",
  1488.                                 "Behavior",
  1489.                                 "=",
  1490.                                 "\"Idle\""
  1491.                               ]
  1492.                             }
  1493.                           ],
  1494.                           "actions": [
  1495.                             {
  1496.                               "type": {
  1497.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1498.                               },
  1499.                               "parameters": [
  1500.                                 "Object",
  1501.                                 "Behavior",
  1502.                                 "=",
  1503.                                 "\"Hovered\""
  1504.                               ]
  1505.                             }
  1506.                           ]
  1507.                         },
  1508.                         {
  1509.                           "type": "BuiltinCommonInstructions::Standard",
  1510.                           "conditions": [
  1511.                             {
  1512.                               "type": {
  1513.                                 "inverted": true,
  1514.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyTouchIsInside"
  1515.                               },
  1516.                               "parameters": [
  1517.                                 "Object",
  1518.                                 "Behavior"
  1519.                               ]
  1520.                             },
  1521.                             {
  1522.                               "type": {
  1523.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1524.                               },
  1525.                               "parameters": [
  1526.                                 "Object",
  1527.                                 "Behavior",
  1528.                                 "=",
  1529.                                 "\"PressedInside\""
  1530.                               ]
  1531.                             }
  1532.                           ],
  1533.                           "actions": [
  1534.                             {
  1535.                               "type": {
  1536.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1537.                               },
  1538.                               "parameters": [
  1539.                                 "Object",
  1540.                                 "Behavior",
  1541.                                 "=",
  1542.                                 "\"PressedOutside\""
  1543.                               ]
  1544.                             }
  1545.                           ]
  1546.                         },
  1547.                         {
  1548.                           "type": "BuiltinCommonInstructions::Standard",
  1549.                           "conditions": [
  1550.                             {
  1551.                               "type": {
  1552.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyTouchIsInside"
  1553.                               },
  1554.                               "parameters": [
  1555.                                 "Object",
  1556.                                 "Behavior"
  1557.                               ]
  1558.                             },
  1559.                             {
  1560.                               "type": {
  1561.                                 "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1562.                               },
  1563.                               "parameters": [
  1564.                                 "Object",
  1565.                                 "Behavior",
  1566.                                 "=",
  1567.                                 "\"PressedOutside\""
  1568.                               ]
  1569.                             }
  1570.                           ],
  1571.                           "actions": [
  1572.                             {
  1573.                               "type": {
  1574.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1575.                               },
  1576.                               "parameters": [
  1577.                                 "Object",
  1578.                                 "Behavior",
  1579.                                 "=",
  1580.                                 "\"PressedInside\""
  1581.                               ]
  1582.                             }
  1583.                           ]
  1584.                         }
  1585.                       ],
  1586.                       "parameters": []
  1587.                     },
  1588.                     {
  1589.                       "colorB": 228,
  1590.                       "colorG": 176,
  1591.                       "colorR": 74,
  1592.                       "creationTime": 0,
  1593.                       "name": "Handle touch end",
  1594.                       "source": "",
  1595.                       "type": "BuiltinCommonInstructions::Group",
  1596.                       "events": [
  1597.                         {
  1598.                           "type": "BuiltinCommonInstructions::Standard",
  1599.                           "conditions": [
  1600.                             {
  1601.                               "type": {
  1602.                                 "value": "HasTouchEnded"
  1603.                               },
  1604.                               "parameters": [
  1605.                                 "",
  1606.                                 "Object.Behavior::PropertyTouchId()"
  1607.                               ]
  1608.                             }
  1609.                           ],
  1610.                           "actions": [
  1611.                             {
  1612.                               "type": {
  1613.                                 "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchId"
  1614.                               },
  1615.                               "parameters": [
  1616.                                 "Object",
  1617.                                 "Behavior",
  1618.                                 "=",
  1619.                                 "0"
  1620.                               ]
  1621.                             }
  1622.                           ],
  1623.                           "events": [
  1624.                             {
  1625.                               "type": "BuiltinCommonInstructions::Standard",
  1626.                               "conditions": [
  1627.                                 {
  1628.                                   "type": {
  1629.                                     "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1630.                                   },
  1631.                                   "parameters": [
  1632.                                     "Object",
  1633.                                     "Behavior",
  1634.                                     "=",
  1635.                                     "\"PressedInside\""
  1636.                                   ]
  1637.                                 }
  1638.                               ],
  1639.                               "actions": [
  1640.                                 {
  1641.                                   "type": {
  1642.                                     "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1643.                                   },
  1644.                                   "parameters": [
  1645.                                     "Object",
  1646.                                     "Behavior",
  1647.                                     "=",
  1648.                                     "\"Validated\""
  1649.                                   ]
  1650.                                 }
  1651.                               ]
  1652.                             },
  1653.                             {
  1654.                               "type": "BuiltinCommonInstructions::Standard",
  1655.                               "conditions": [
  1656.                                 {
  1657.                                   "type": {
  1658.                                     "inverted": true,
  1659.                                     "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1660.                                   },
  1661.                                   "parameters": [
  1662.                                     "Object",
  1663.                                     "Behavior",
  1664.                                     "=",
  1665.                                     "\"PressedInside\""
  1666.                                   ]
  1667.                                 },
  1668.                                 {
  1669.                                   "type": {
  1670.                                     "inverted": true,
  1671.                                     "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1672.                                   },
  1673.                                   "parameters": [
  1674.                                     "Object",
  1675.                                     "Behavior",
  1676.                                     "=",
  1677.                                     "\"Validated\""
  1678.                                   ]
  1679.                                 }
  1680.                               ],
  1681.                               "actions": [
  1682.                                 {
  1683.                                   "type": {
  1684.                                     "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1685.                                   },
  1686.                                   "parameters": [
  1687.                                     "Object",
  1688.                                     "Behavior",
  1689.                                     "=",
  1690.                                     "\"Idle\""
  1691.                                   ]
  1692.                                 }
  1693.                               ]
  1694.                             }
  1695.                           ]
  1696.                         }
  1697.                       ],
  1698.                       "parameters": []
  1699.                     }
  1700.                   ],
  1701.                   "parameters": []
  1702.                 }
  1703.               ],
  1704.               "parameters": [
  1705.                 {
  1706.                   "description": "Object",
  1707.                   "name": "Object",
  1708.                   "type": "object"
  1709.                 },
  1710.                 {
  1711.                   "description": "Behavior",
  1712.                   "name": "Behavior",
  1713.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1714.                   "type": "behavior"
  1715.                 }
  1716.               ],
  1717.               "objectGroups": []
  1718.             },
  1719.             {
  1720.               "fullName": "",
  1721.               "functionType": "Action",
  1722.               "name": "onDeActivate",
  1723.               "sentence": "",
  1724.               "events": [
  1725.                 {
  1726.                   "type": "BuiltinCommonInstructions::Standard",
  1727.                   "conditions": [],
  1728.                   "actions": [
  1729.                     {
  1730.                       "type": {
  1731.                         "value": "SpriteToggleSwitch::ButtonFSM::ResetState"
  1732.                       },
  1733.                       "parameters": [
  1734.                         "Object",
  1735.                         "Behavior",
  1736.                         ""
  1737.                       ]
  1738.                     }
  1739.                   ]
  1740.                 }
  1741.               ],
  1742.               "parameters": [
  1743.                 {
  1744.                   "description": "Object",
  1745.                   "name": "Object",
  1746.                   "type": "object"
  1747.                 },
  1748.                 {
  1749.                   "description": "Behavior",
  1750.                   "name": "Behavior",
  1751.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1752.                   "type": "behavior"
  1753.                 }
  1754.               ],
  1755.               "objectGroups": []
  1756.             },
  1757.             {
  1758.               "description": "Reset the state of the button.",
  1759.               "fullName": "Reset state",
  1760.               "functionType": "Action",
  1761.               "name": "ResetState",
  1762.               "sentence": "Reset the button state of _PARAM0_",
  1763.               "events": [
  1764.                 {
  1765.                   "type": "BuiltinCommonInstructions::Standard",
  1766.                   "conditions": [],
  1767.                   "actions": [
  1768.                     {
  1769.                       "type": {
  1770.                         "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyState"
  1771.                       },
  1772.                       "parameters": [
  1773.                         "Object",
  1774.                         "Behavior",
  1775.                         "=",
  1776.                         "\"Idle\""
  1777.                       ]
  1778.                     },
  1779.                     {
  1780.                       "type": {
  1781.                         "value": "SpriteToggleSwitch::ButtonFSM::SetPropertyTouchId"
  1782.                       },
  1783.                       "parameters": [
  1784.                         "Object",
  1785.                         "Behavior",
  1786.                         "=",
  1787.                         "0"
  1788.                       ]
  1789.                     }
  1790.                   ]
  1791.                 }
  1792.               ],
  1793.               "parameters": [
  1794.                 {
  1795.                   "description": "Object",
  1796.                   "name": "Object",
  1797.                   "type": "object"
  1798.                 },
  1799.                 {
  1800.                   "description": "Behavior",
  1801.                   "name": "Behavior",
  1802.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1803.                   "type": "behavior"
  1804.                 }
  1805.               ],
  1806.               "objectGroups": []
  1807.             },
  1808.             {
  1809.               "description": "Check if the button is not used.",
  1810.               "fullName": "Is idle",
  1811.               "functionType": "Condition",
  1812.               "name": "IsIdle",
  1813.               "sentence": "_PARAM0_ is idle",
  1814.               "events": [
  1815.                 {
  1816.                   "type": "BuiltinCommonInstructions::Standard",
  1817.                   "conditions": [
  1818.                     {
  1819.                       "type": {
  1820.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1821.                       },
  1822.                       "parameters": [
  1823.                         "Object",
  1824.                         "Behavior",
  1825.                         "=",
  1826.                         "\"Idle\""
  1827.                       ]
  1828.                     }
  1829.                   ],
  1830.                   "actions": [
  1831.                     {
  1832.                       "type": {
  1833.                         "value": "SetReturnBoolean"
  1834.                       },
  1835.                       "parameters": [
  1836.                         "True"
  1837.                       ]
  1838.                     }
  1839.                   ]
  1840.                 }
  1841.               ],
  1842.               "parameters": [
  1843.                 {
  1844.                   "description": "Object",
  1845.                   "name": "Object",
  1846.                   "type": "object"
  1847.                 },
  1848.                 {
  1849.                   "description": "Behavior",
  1850.                   "name": "Behavior",
  1851.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1852.                   "type": "behavior"
  1853.                 }
  1854.               ],
  1855.               "objectGroups": []
  1856.             },
  1857.             {
  1858.               "description": "Check if the button was just clicked.",
  1859.               "fullName": "Is clicked",
  1860.               "functionType": "Condition",
  1861.               "name": "IsClicked",
  1862.               "sentence": "_PARAM0_ is clicked",
  1863.               "events": [
  1864.                 {
  1865.                   "type": "BuiltinCommonInstructions::Standard",
  1866.                   "conditions": [
  1867.                     {
  1868.                       "type": {
  1869.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1870.                       },
  1871.                       "parameters": [
  1872.                         "Object",
  1873.                         "Behavior",
  1874.                         "=",
  1875.                         "\"Validated\""
  1876.                       ]
  1877.                     }
  1878.                   ],
  1879.                   "actions": [
  1880.                     {
  1881.                       "type": {
  1882.                         "value": "SetReturnBoolean"
  1883.                       },
  1884.                       "parameters": [
  1885.                         "True"
  1886.                       ]
  1887.                     }
  1888.                   ]
  1889.                 }
  1890.               ],
  1891.               "parameters": [
  1892.                 {
  1893.                   "description": "Object",
  1894.                   "name": "Object",
  1895.                   "type": "object"
  1896.                 },
  1897.                 {
  1898.                   "description": "Behavior",
  1899.                   "name": "Behavior",
  1900.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1901.                   "type": "behavior"
  1902.                 }
  1903.               ],
  1904.               "objectGroups": []
  1905.             },
  1906.             {
  1907.               "description": "Check if the cursor is hovered over the button.",
  1908.               "fullName": "Is hovered",
  1909.               "functionType": "Condition",
  1910.               "name": "IsHovered",
  1911.               "sentence": "_PARAM0_ is hovered",
  1912.               "events": [
  1913.                 {
  1914.                   "type": "BuiltinCommonInstructions::Standard",
  1915.                   "conditions": [
  1916.                     {
  1917.                       "type": {
  1918.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1919.                       },
  1920.                       "parameters": [
  1921.                         "Object",
  1922.                         "Behavior",
  1923.                         "=",
  1924.                         "\"Hovered\""
  1925.                       ]
  1926.                     }
  1927.                   ],
  1928.                   "actions": [
  1929.                     {
  1930.                       "type": {
  1931.                         "value": "SetReturnBoolean"
  1932.                       },
  1933.                       "parameters": [
  1934.                         "True"
  1935.                       ]
  1936.                     }
  1937.                   ]
  1938.                 }
  1939.               ],
  1940.               "parameters": [
  1941.                 {
  1942.                   "description": "Object",
  1943.                   "name": "Object",
  1944.                   "type": "object"
  1945.                 },
  1946.                 {
  1947.                   "description": "Behavior",
  1948.                   "name": "Behavior",
  1949.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  1950.                   "type": "behavior"
  1951.                 }
  1952.               ],
  1953.               "objectGroups": []
  1954.             },
  1955.             {
  1956.               "description": "Check if the button is either hovered or pressed but not hovered.",
  1957.               "fullName": "Is focused",
  1958.               "functionType": "Condition",
  1959.               "name": "IsFocused",
  1960.               "sentence": "_PARAM0_ is focused",
  1961.               "events": [
  1962.                 {
  1963.                   "type": "BuiltinCommonInstructions::Standard",
  1964.                   "conditions": [
  1965.                     {
  1966.                       "type": {
  1967.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1968.                       },
  1969.                       "parameters": [
  1970.                         "Object",
  1971.                         "Behavior",
  1972.                         "=",
  1973.                         "\"Hovered\""
  1974.                       ]
  1975.                     }
  1976.                   ],
  1977.                   "actions": [
  1978.                     {
  1979.                       "type": {
  1980.                         "value": "SetReturnBoolean"
  1981.                       },
  1982.                       "parameters": [
  1983.                         "True"
  1984.                       ]
  1985.                     }
  1986.                   ]
  1987.                 },
  1988.                 {
  1989.                   "type": "BuiltinCommonInstructions::Standard",
  1990.                   "conditions": [
  1991.                     {
  1992.                       "type": {
  1993.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  1994.                       },
  1995.                       "parameters": [
  1996.                         "Object",
  1997.                         "Behavior",
  1998.                         "=",
  1999.                         "\"PressedOutside\""
  2000.                       ]
  2001.                     }
  2002.                   ],
  2003.                   "actions": [
  2004.                     {
  2005.                       "type": {
  2006.                         "value": "SetReturnBoolean"
  2007.                       },
  2008.                       "parameters": [
  2009.                         "True"
  2010.                       ]
  2011.                     }
  2012.                   ]
  2013.                 }
  2014.               ],
  2015.               "parameters": [
  2016.                 {
  2017.                   "description": "Object",
  2018.                   "name": "Object",
  2019.                   "type": "object"
  2020.                 },
  2021.                 {
  2022.                   "description": "Behavior",
  2023.                   "name": "Behavior",
  2024.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  2025.                   "type": "behavior"
  2026.                 }
  2027.               ],
  2028.               "objectGroups": []
  2029.             },
  2030.             {
  2031.               "description": "Check if the button is currently being pressed with mouse or touch.",
  2032.               "fullName": "Is pressed",
  2033.               "functionType": "Condition",
  2034.               "name": "IsPressed",
  2035.               "sentence": "_PARAM0_ is pressed",
  2036.               "events": [
  2037.                 {
  2038.                   "type": "BuiltinCommonInstructions::Standard",
  2039.                   "conditions": [
  2040.                     {
  2041.                       "type": {
  2042.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  2043.                       },
  2044.                       "parameters": [
  2045.                         "Object",
  2046.                         "Behavior",
  2047.                         "=",
  2048.                         "\"PressedInside\""
  2049.                       ]
  2050.                     }
  2051.                   ],
  2052.                   "actions": [
  2053.                     {
  2054.                       "type": {
  2055.                         "value": "SetReturnBoolean"
  2056.                       },
  2057.                       "parameters": [
  2058.                         "True"
  2059.                       ]
  2060.                     }
  2061.                   ]
  2062.                 }
  2063.               ],
  2064.               "parameters": [
  2065.                 {
  2066.                   "description": "Object",
  2067.                   "name": "Object",
  2068.                   "type": "object"
  2069.                 },
  2070.                 {
  2071.                   "description": "Behavior",
  2072.                   "name": "Behavior",
  2073.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  2074.                   "type": "behavior"
  2075.                 }
  2076.               ],
  2077.               "objectGroups": []
  2078.             },
  2079.             {
  2080.               "description": "Check if the button is currently being pressed outside with mouse or touch.",
  2081.               "fullName": "Is held outside",
  2082.               "functionType": "Condition",
  2083.               "name": "IsPressedOutside",
  2084.               "sentence": "_PARAM0_ is held outside",
  2085.               "events": [
  2086.                 {
  2087.                   "type": "BuiltinCommonInstructions::Standard",
  2088.                   "conditions": [
  2089.                     {
  2090.                       "type": {
  2091.                         "value": "SpriteToggleSwitch::ButtonFSM::PropertyState"
  2092.                       },
  2093.                       "parameters": [
  2094.                         "Object",
  2095.                         "Behavior",
  2096.                         "=",
  2097.                         "\"PressedOutside\""
  2098.                       ]
  2099.                     }
  2100.                   ],
  2101.                   "actions": [
  2102.                     {
  2103.                       "type": {
  2104.                         "value": "SetReturnBoolean"
  2105.                       },
  2106.                       "parameters": [
  2107.                         "True"
  2108.                       ]
  2109.                     }
  2110.                   ]
  2111.                 }
  2112.               ],
  2113.               "parameters": [
  2114.                 {
  2115.                   "description": "Object",
  2116.                   "name": "Object",
  2117.                   "type": "object"
  2118.                 },
  2119.                 {
  2120.                   "description": "Behavior",
  2121.                   "name": "Behavior",
  2122.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  2123.                   "type": "behavior"
  2124.                 }
  2125.               ],
  2126.               "objectGroups": []
  2127.             },
  2128.             {
  2129.               "description": "the touch id that is using the button or 0 if none.",
  2130.               "fullName": "Touch id",
  2131.               "functionType": "ExpressionAndCondition",
  2132.               "name": "TouchId",
  2133.               "sentence": "the touch id",
  2134.               "events": [
  2135.                 {
  2136.                   "type": "BuiltinCommonInstructions::Standard",
  2137.                   "conditions": [],
  2138.                   "actions": [
  2139.                     {
  2140.                       "type": {
  2141.                         "value": "SetReturnNumber"
  2142.                       },
  2143.                       "parameters": [
  2144.                         "Object.Behavior::PropertyTouchId()"
  2145.                       ]
  2146.                     }
  2147.                   ]
  2148.                 }
  2149.               ],
  2150.               "expressionType": {
  2151.                 "type": "expression"
  2152.               },
  2153.               "parameters": [
  2154.                 {
  2155.                   "description": "Object",
  2156.                   "name": "Object",
  2157.                   "type": "object"
  2158.                 },
  2159.                 {
  2160.                   "description": "Behavior",
  2161.                   "name": "Behavior",
  2162.                   "supplementaryInformation": "SpriteToggleSwitch::ButtonFSM",
  2163.                   "type": "behavior"
  2164.                 }
  2165.               ],
  2166.               "objectGroups": []
  2167.             }
  2168.           ],
  2169.           "propertyDescriptors": [
  2170.             {
  2171.               "value": "true",
  2172.               "type": "Boolean",
  2173.               "label": "",
  2174.               "description": "Should check hovering",
  2175.               "group": "",
  2176.               "extraInformation": [],
  2177.               "hidden": true,
  2178.               "name": "ShouldCheckHovering"
  2179.             },
  2180.             {
  2181.               "value": "Idle",
  2182.               "type": "Choice",
  2183.               "label": "State",
  2184.               "description": "",
  2185.               "group": "",
  2186.               "extraInformation": [
  2187.                 "Idle",
  2188.                 "Hovered",
  2189.                 "PressedInside",
  2190.                 "PressedOutside",
  2191.                 "Validated"
  2192.               ],
  2193.               "hidden": true,
  2194.               "name": "State"
  2195.             },
  2196.             {
  2197.               "value": "0",
  2198.               "type": "Number",
  2199.               "label": "Touch id",
  2200.               "description": "",
  2201.               "group": "",
  2202.               "extraInformation": [],
  2203.               "hidden": true,
  2204.               "name": "TouchId"
  2205.             },
  2206.             {
  2207.               "value": "",
  2208.               "type": "Boolean",
  2209.               "label": "Touch is inside",
  2210.               "description": "",
  2211.               "group": "",
  2212.               "extraInformation": [],
  2213.               "hidden": true,
  2214.               "name": "TouchIsInside"
  2215.             },
  2216.             {
  2217.               "value": "",
  2218.               "type": "Boolean",
  2219.               "label": "Mouse is inside",
  2220.               "description": "",
  2221.               "group": "",
  2222.               "extraInformation": [],
  2223.               "hidden": true,
  2224.               "name": "MouseIsInside"
  2225.             },
  2226.             {
  2227.               "value": "",
  2228.               "type": "Number",
  2229.               "label": "",
  2230.               "description": "",
  2231.               "group": "",
  2232.               "extraInformation": [],
  2233.               "hidden": true,
  2234.               "name": "Index"
  2235.             }
  2236.           ],
  2237.           "sharedPropertyDescriptors": []
  2238.         }
  2239.       ],
  2240.       "eventsBasedObjects": [
  2241.         {
  2242.           "areaMaxX": 64,
  2243.           "areaMaxY": 64,
  2244.           "areaMaxZ": 64,
  2245.           "areaMinX": 0,
  2246.           "areaMinY": 0,
  2247.           "areaMinZ": 0,
  2248.           "defaultName": "ToggleSwitch",
  2249.           "description": "A toggle switch that users can click or touch.",
  2250.           "fullName": "Toggle switch",
  2251.           "isUsingLegacyInstancesRenderer": true,
  2252.           "name": "SpriteToggleSwitch",
  2253.           "eventsFunctions": [
  2254.             {
  2255.               "fullName": "",
  2256.               "functionType": "Action",
  2257.               "name": "onCreated",
  2258.               "sentence": "",
  2259.               "events": [
  2260.                 {
  2261.                   "type": "BuiltinCommonInstructions::Comment",
  2262.                   "color": {
  2263.                     "b": 109,
  2264.                     "g": 230,
  2265.                     "r": 255,
  2266.                     "textB": 0,
  2267.                     "textG": 0,
  2268.                     "textR": 0
  2269.                   },
  2270.                   "comment": "Create one background instance for of each state."
  2271.                 },
  2272.                 {
  2273.                   "type": "BuiltinCommonInstructions::Standard",
  2274.                   "conditions": [],
  2275.                   "actions": [
  2276.                     {
  2277.                       "type": {
  2278.                         "value": "Create"
  2279.                       },
  2280.                       "parameters": [
  2281.                         "",
  2282.                         "State",
  2283.                         "0",
  2284.                         "0",
  2285.                         ""
  2286.                       ]
  2287.                     }
  2288.                   ]
  2289.                 },
  2290.                 {
  2291.                   "type": "BuiltinCommonInstructions::Comment",
  2292.                   "color": {
  2293.                     "b": 109,
  2294.                     "g": 230,
  2295.                     "r": 255,
  2296.                     "textB": 0,
  2297.                     "textG": 0,
  2298.                     "textR": 0
  2299.                   },
  2300.                   "comment": "Pass the configuration to the behavior.\nThe PreviousIsChecked property allows to detect a change of \"intial value\" on hot reload."
  2301.                 },
  2302.                 {
  2303.                   "type": "BuiltinCommonInstructions::Standard",
  2304.                   "conditions": [
  2305.                     {
  2306.                       "type": {
  2307.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyIsChecked"
  2308.                       },
  2309.                       "parameters": [
  2310.                         "Object"
  2311.                       ]
  2312.                     }
  2313.                   ],
  2314.                   "actions": [
  2315.                     {
  2316.                       "type": {
  2317.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  2318.                       },
  2319.                       "parameters": [
  2320.                         "State",
  2321.                         "SwitchFSM",
  2322.                         "",
  2323.                         ""
  2324.                       ]
  2325.                     },
  2326.                     {
  2327.                       "type": {
  2328.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetPropertyPreviousIsChecked"
  2329.                       },
  2330.                       "parameters": [
  2331.                         "Object",
  2332.                         "yes"
  2333.                       ]
  2334.                     }
  2335.                   ]
  2336.                 },
  2337.                 {
  2338.                   "type": "BuiltinCommonInstructions::Standard",
  2339.                   "conditions": [
  2340.                     {
  2341.                       "type": {
  2342.                         "inverted": true,
  2343.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyIsChecked"
  2344.                       },
  2345.                       "parameters": [
  2346.                         "Object"
  2347.                       ]
  2348.                     }
  2349.                   ],
  2350.                   "actions": [
  2351.                     {
  2352.                       "type": {
  2353.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  2354.                       },
  2355.                       "parameters": [
  2356.                         "State",
  2357.                         "SwitchFSM",
  2358.                         "no",
  2359.                         ""
  2360.                       ]
  2361.                     },
  2362.                     {
  2363.                       "type": {
  2364.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetPropertyPreviousIsChecked"
  2365.                       },
  2366.                       "parameters": [
  2367.                         "Object",
  2368.                         ""
  2369.                       ]
  2370.                     }
  2371.                   ]
  2372.                 },
  2373.                 {
  2374.                   "type": "BuiltinCommonInstructions::Standard",
  2375.                   "conditions": [],
  2376.                   "actions": [
  2377.                     {
  2378.                       "type": {
  2379.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::UpdateStateAnimation"
  2380.                       },
  2381.                       "parameters": [
  2382.                         "Object",
  2383.                         ""
  2384.                       ]
  2385.                     },
  2386.                     {
  2387.                       "type": {
  2388.                         "value": "ChangeSprite"
  2389.                       },
  2390.                       "parameters": [
  2391.                         "State",
  2392.                         "=",
  2393.                         "State.AnimationFrameCount() - 1"
  2394.                       ]
  2395.                     }
  2396.                   ]
  2397.                 }
  2398.               ],
  2399.               "parameters": [
  2400.                 {
  2401.                   "description": "Object",
  2402.                   "name": "Object",
  2403.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2404.                   "type": "object"
  2405.                 }
  2406.               ],
  2407.               "objectGroups": [
  2408.                 {
  2409.                   "name": "Background",
  2410.                   "objects": [
  2411.                     {
  2412.                       "name": "Idle"
  2413.                     },
  2414.                     {
  2415.                       "name": "Hovered"
  2416.                     },
  2417.                     {
  2418.                       "name": "Pressed"
  2419.                     }
  2420.                   ]
  2421.                 }
  2422.               ]
  2423.             },
  2424.             {
  2425.               "fullName": "",
  2426.               "functionType": "Action",
  2427.               "name": "onHotReloading",
  2428.               "sentence": "",
  2429.               "events": [
  2430.                 {
  2431.                   "type": "BuiltinCommonInstructions::Standard",
  2432.                   "conditions": [
  2433.                     {
  2434.                       "type": {
  2435.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyIsChecked"
  2436.                       },
  2437.                       "parameters": [
  2438.                         "Object"
  2439.                       ]
  2440.                     },
  2441.                     {
  2442.                       "type": {
  2443.                         "inverted": true,
  2444.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyPreviousIsChecked"
  2445.                       },
  2446.                       "parameters": [
  2447.                         "Object",
  2448.                         "SwitchFSM",
  2449.                         ""
  2450.                       ]
  2451.                     }
  2452.                   ],
  2453.                   "actions": [
  2454.                     {
  2455.                       "type": {
  2456.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetChecked"
  2457.                       },
  2458.                       "parameters": [
  2459.                         "Object",
  2460.                         "yes",
  2461.                         "no"
  2462.                       ]
  2463.                     },
  2464.                     {
  2465.                       "type": {
  2466.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetPropertyPreviousIsChecked"
  2467.                       },
  2468.                       "parameters": [
  2469.                         "Object",
  2470.                         "yes"
  2471.                       ]
  2472.                     }
  2473.                   ]
  2474.                 },
  2475.                 {
  2476.                   "type": "BuiltinCommonInstructions::Standard",
  2477.                   "conditions": [
  2478.                     {
  2479.                       "type": {
  2480.                         "inverted": true,
  2481.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyIsChecked"
  2482.                       },
  2483.                       "parameters": [
  2484.                         "Object"
  2485.                       ]
  2486.                     },
  2487.                     {
  2488.                       "type": {
  2489.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::PropertyPreviousIsChecked"
  2490.                       },
  2491.                       "parameters": [
  2492.                         "Object",
  2493.                         "SwitchFSM",
  2494.                         ""
  2495.                       ]
  2496.                     }
  2497.                   ],
  2498.                   "actions": [
  2499.                     {
  2500.                       "type": {
  2501.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetChecked"
  2502.                       },
  2503.                       "parameters": [
  2504.                         "Object",
  2505.                         "SwitchFSM",
  2506.                         "no"
  2507.                       ]
  2508.                     },
  2509.                     {
  2510.                       "type": {
  2511.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::SetPropertyPreviousIsChecked"
  2512.                       },
  2513.                       "parameters": [
  2514.                         "Object",
  2515.                         "no"
  2516.                       ]
  2517.                     }
  2518.                   ]
  2519.                 }
  2520.               ],
  2521.               "parameters": [
  2522.                 {
  2523.                   "description": "Object",
  2524.                   "name": "Object",
  2525.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2526.                   "type": "object"
  2527.                 }
  2528.               ],
  2529.               "objectGroups": []
  2530.             },
  2531.             {
  2532.               "fullName": "",
  2533.               "functionType": "Action",
  2534.               "name": "doStepPostEvents",
  2535.               "sentence": "",
  2536.               "events": [
  2537.                 {
  2538.                   "type": "BuiltinCommonInstructions::Standard",
  2539.                   "conditions": [],
  2540.                   "actions": [
  2541.                     {
  2542.                       "type": {
  2543.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::UpdateStateAnimation"
  2544.                       },
  2545.                       "parameters": [
  2546.                         "Object",
  2547.                         ""
  2548.                       ]
  2549.                     }
  2550.                   ]
  2551.                 }
  2552.               ],
  2553.               "parameters": [
  2554.                 {
  2555.                   "description": "Object",
  2556.                   "name": "Object",
  2557.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2558.                   "type": "object"
  2559.                 }
  2560.               ],
  2561.               "objectGroups": []
  2562.             },
  2563.             {
  2564.               "description": "Check if the toggle switch is checked.",
  2565.               "fullName": "Is checked",
  2566.               "functionType": "Condition",
  2567.               "name": "IsChecked",
  2568.               "sentence": "_PARAM0_ is checked",
  2569.               "events": [
  2570.                 {
  2571.                   "type": "BuiltinCommonInstructions::Standard",
  2572.                   "conditions": [
  2573.                     {
  2574.                       "type": {
  2575.                         "value": "SpriteToggleSwitch::SwitchFSM::IsChecked"
  2576.                       },
  2577.                       "parameters": [
  2578.                         "State",
  2579.                         "SwitchFSM",
  2580.                         ""
  2581.                       ]
  2582.                     }
  2583.                   ],
  2584.                   "actions": [
  2585.                     {
  2586.                       "type": {
  2587.                         "value": "SetReturnBoolean"
  2588.                       },
  2589.                       "parameters": [
  2590.                         "True"
  2591.                       ]
  2592.                     }
  2593.                   ]
  2594.                 }
  2595.               ],
  2596.               "parameters": [
  2597.                 {
  2598.                   "description": "Object",
  2599.                   "name": "Object",
  2600.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2601.                   "type": "object"
  2602.                 }
  2603.               ],
  2604.               "objectGroups": []
  2605.             },
  2606.             {
  2607.               "description": "Check if the toggle switch was checked in the current frame.",
  2608.               "fullName": "Has just been checked",
  2609.               "functionType": "Condition",
  2610.               "name": "HasJustBeenChecked",
  2611.               "sentence": "_PARAM0_ has just been checked",
  2612.               "events": [
  2613.                 {
  2614.                   "type": "BuiltinCommonInstructions::Standard",
  2615.                   "conditions": [
  2616.                     {
  2617.                       "type": {
  2618.                         "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenChecked"
  2619.                       },
  2620.                       "parameters": [
  2621.                         "State",
  2622.                         "SwitchFSM",
  2623.                         ""
  2624.                       ]
  2625.                     }
  2626.                   ],
  2627.                   "actions": [
  2628.                     {
  2629.                       "type": {
  2630.                         "value": "SetReturnBoolean"
  2631.                       },
  2632.                       "parameters": [
  2633.                         "True"
  2634.                       ]
  2635.                     }
  2636.                   ]
  2637.                 }
  2638.               ],
  2639.               "parameters": [
  2640.                 {
  2641.                   "description": "Object",
  2642.                   "name": "Object",
  2643.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2644.                   "type": "object"
  2645.                 }
  2646.               ],
  2647.               "objectGroups": []
  2648.             },
  2649.             {
  2650.               "description": "Check if the toggle switch was unchecked in the current frame.",
  2651.               "fullName": "Has just been unchecked",
  2652.               "functionType": "Condition",
  2653.               "name": "HasJustBeenUnchecked",
  2654.               "sentence": "_PARAM0_ has just been unchecked",
  2655.               "events": [
  2656.                 {
  2657.                   "type": "BuiltinCommonInstructions::Standard",
  2658.                   "conditions": [
  2659.                     {
  2660.                       "type": {
  2661.                         "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenUnchecked"
  2662.                       },
  2663.                       "parameters": [
  2664.                         "State",
  2665.                         "SwitchFSM",
  2666.                         ""
  2667.                       ]
  2668.                     }
  2669.                   ],
  2670.                   "actions": [
  2671.                     {
  2672.                       "type": {
  2673.                         "value": "SetReturnBoolean"
  2674.                       },
  2675.                       "parameters": [
  2676.                         "True"
  2677.                       ]
  2678.                     }
  2679.                   ]
  2680.                 }
  2681.               ],
  2682.               "parameters": [
  2683.                 {
  2684.                   "description": "Object",
  2685.                   "name": "Object",
  2686.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2687.                   "type": "object"
  2688.                 }
  2689.               ],
  2690.               "objectGroups": []
  2691.             },
  2692.             {
  2693.               "description": "Check if the toggle switch was checked or unchecked in the current frame.",
  2694.               "fullName": "Has just been toggled",
  2695.               "functionType": "Condition",
  2696.               "name": "HasJustBeenToggled",
  2697.               "sentence": "_PARAM0_ has just been toggled",
  2698.               "events": [
  2699.                 {
  2700.                   "type": "BuiltinCommonInstructions::Standard",
  2701.                   "conditions": [
  2702.                     {
  2703.                       "type": {
  2704.                         "value": "SpriteToggleSwitch::SwitchFSM::HasJustBeenToggled"
  2705.                       },
  2706.                       "parameters": [
  2707.                         "State",
  2708.                         "SwitchFSM",
  2709.                         ""
  2710.                       ]
  2711.                     }
  2712.                   ],
  2713.                   "actions": [
  2714.                     {
  2715.                       "type": {
  2716.                         "value": "SetReturnBoolean"
  2717.                       },
  2718.                       "parameters": [
  2719.                         "True"
  2720.                       ]
  2721.                     }
  2722.                   ]
  2723.                 }
  2724.               ],
  2725.               "parameters": [
  2726.                 {
  2727.                   "description": "Object",
  2728.                   "name": "Object",
  2729.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2730.                   "type": "object"
  2731.                 }
  2732.               ],
  2733.               "objectGroups": []
  2734.             },
  2735.             {
  2736.               "description": "Check (or uncheck) the toggle switch.",
  2737.               "fullName": "Check (or uncheck)",
  2738.               "functionType": "Action",
  2739.               "name": "SetChecked",
  2740.               "sentence": "Check _PARAM0_: _PARAM1_",
  2741.               "events": [
  2742.                 {
  2743.                   "type": "BuiltinCommonInstructions::Standard",
  2744.                   "conditions": [
  2745.                     {
  2746.                       "type": {
  2747.                         "inverted": true,
  2748.                         "value": "GetArgumentAsBoolean"
  2749.                       },
  2750.                       "parameters": [
  2751.                         "\"Value\""
  2752.                       ]
  2753.                     }
  2754.                   ],
  2755.                   "actions": [
  2756.                     {
  2757.                       "type": {
  2758.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  2759.                       },
  2760.                       "parameters": [
  2761.                         "State",
  2762.                         "SwitchFSM",
  2763.                         "no",
  2764.                         ""
  2765.                       ]
  2766.                     }
  2767.                   ]
  2768.                 },
  2769.                 {
  2770.                   "type": "BuiltinCommonInstructions::Standard",
  2771.                   "conditions": [
  2772.                     {
  2773.                       "type": {
  2774.                         "value": "GetArgumentAsBoolean"
  2775.                       },
  2776.                       "parameters": [
  2777.                         "\"Value\""
  2778.                       ]
  2779.                     }
  2780.                   ],
  2781.                   "actions": [
  2782.                     {
  2783.                       "type": {
  2784.                         "value": "SpriteToggleSwitch::SwitchFSM::SetChecked"
  2785.                       },
  2786.                       "parameters": [
  2787.                         "State",
  2788.                         "SwitchFSM",
  2789.                         "yes",
  2790.                         ""
  2791.                       ]
  2792.                     }
  2793.                   ]
  2794.                 }
  2795.               ],
  2796.               "parameters": [
  2797.                 {
  2798.                   "description": "Object",
  2799.                   "name": "Object",
  2800.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2801.                   "type": "object"
  2802.                 },
  2803.                 {
  2804.                   "defaultValue": "yes",
  2805.                   "description": "IsChecked",
  2806.                   "name": "Value",
  2807.                   "optional": true,
  2808.                   "type": "yesorno"
  2809.                 }
  2810.               ],
  2811.               "objectGroups": []
  2812.             },
  2813.             {
  2814.               "description": "Toggle the switch.",
  2815.               "fullName": "Toggle",
  2816.               "functionType": "Action",
  2817.               "name": "ToggleChecked",
  2818.               "sentence": "Toggle _PARAM0_",
  2819.               "events": [
  2820.                 {
  2821.                   "type": "BuiltinCommonInstructions::Standard",
  2822.                   "conditions": [],
  2823.                   "actions": [
  2824.                     {
  2825.                       "type": {
  2826.                         "value": "SpriteToggleSwitch::SwitchFSM::ToggleChecked"
  2827.                       },
  2828.                       "parameters": [
  2829.                         "State",
  2830.                         "SwitchFSM",
  2831.                         ""
  2832.                       ]
  2833.                     }
  2834.                   ]
  2835.                 }
  2836.               ],
  2837.               "parameters": [
  2838.                 {
  2839.                   "description": "Object",
  2840.                   "name": "Object",
  2841.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2842.                   "type": "object"
  2843.                 }
  2844.               ],
  2845.               "objectGroups": []
  2846.             },
  2847.             {
  2848.               "description": "Check if the button is not used.",
  2849.               "fullName": "Is idle",
  2850.               "functionType": "Condition",
  2851.               "name": "IsIdle",
  2852.               "private": true,
  2853.               "sentence": "_PARAM0_ is idle",
  2854.               "events": [
  2855.                 {
  2856.                   "type": "BuiltinCommonInstructions::Standard",
  2857.                   "conditions": [
  2858.                     {
  2859.                       "type": {
  2860.                         "value": "SpriteToggleSwitch::ButtonFSM::IsIdle"
  2861.                       },
  2862.                       "parameters": [
  2863.                         "State",
  2864.                         "ButtonFSM",
  2865.                         ""
  2866.                       ]
  2867.                     }
  2868.                   ],
  2869.                   "actions": [
  2870.                     {
  2871.                       "type": {
  2872.                         "value": "SetReturnBoolean"
  2873.                       },
  2874.                       "parameters": [
  2875.                         "True"
  2876.                       ]
  2877.                     }
  2878.                   ]
  2879.                 }
  2880.               ],
  2881.               "parameters": [
  2882.                 {
  2883.                   "description": "Object",
  2884.                   "name": "Object",
  2885.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2886.                   "type": "object"
  2887.                 }
  2888.               ],
  2889.               "objectGroups": []
  2890.             },
  2891.             {
  2892.               "description": "Check if the button was just clicked.",
  2893.               "fullName": "Is clicked",
  2894.               "functionType": "Condition",
  2895.               "name": "IsClicked",
  2896.               "private": true,
  2897.               "sentence": "_PARAM0_ is clicked",
  2898.               "events": [
  2899.                 {
  2900.                   "type": "BuiltinCommonInstructions::Standard",
  2901.                   "conditions": [
  2902.                     {
  2903.                       "type": {
  2904.                         "value": "SpriteToggleSwitch::ButtonFSM::IsClicked"
  2905.                       },
  2906.                       "parameters": [
  2907.                         "State",
  2908.                         "ButtonFSM",
  2909.                         ""
  2910.                       ]
  2911.                     }
  2912.                   ],
  2913.                   "actions": [
  2914.                     {
  2915.                       "type": {
  2916.                         "value": "SetReturnBoolean"
  2917.                       },
  2918.                       "parameters": [
  2919.                         "True"
  2920.                       ]
  2921.                     }
  2922.                   ]
  2923.                 }
  2924.               ],
  2925.               "parameters": [
  2926.                 {
  2927.                   "description": "Object",
  2928.                   "name": "Object",
  2929.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2930.                   "type": "object"
  2931.                 }
  2932.               ],
  2933.               "objectGroups": []
  2934.             },
  2935.             {
  2936.               "description": "Check if the cursor is hovered over the button.",
  2937.               "fullName": "Is hovered",
  2938.               "functionType": "Condition",
  2939.               "name": "IsHovered",
  2940.               "sentence": "_PARAM0_ is hovered",
  2941.               "events": [
  2942.                 {
  2943.                   "type": "BuiltinCommonInstructions::Standard",
  2944.                   "conditions": [
  2945.                     {
  2946.                       "type": {
  2947.                         "value": "SpriteToggleSwitch::ButtonFSM::IsHovered"
  2948.                       },
  2949.                       "parameters": [
  2950.                         "State",
  2951.                         "ButtonFSM",
  2952.                         ""
  2953.                       ]
  2954.                     }
  2955.                   ],
  2956.                   "actions": [
  2957.                     {
  2958.                       "type": {
  2959.                         "value": "SetReturnBoolean"
  2960.                       },
  2961.                       "parameters": [
  2962.                         "True"
  2963.                       ]
  2964.                     }
  2965.                   ]
  2966.                 }
  2967.               ],
  2968.               "parameters": [
  2969.                 {
  2970.                   "description": "Object",
  2971.                   "name": "Object",
  2972.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  2973.                   "type": "object"
  2974.                 }
  2975.               ],
  2976.               "objectGroups": []
  2977.             },
  2978.             {
  2979.               "description": "Check if the button is either hovered or pressed but not hovered.",
  2980.               "fullName": "Is focused",
  2981.               "functionType": "Condition",
  2982.               "name": "IsFocused",
  2983.               "private": true,
  2984.               "sentence": "_PARAM0_ is focused",
  2985.               "events": [
  2986.                 {
  2987.                   "type": "BuiltinCommonInstructions::Standard",
  2988.                   "conditions": [
  2989.                     {
  2990.                       "type": {
  2991.                         "value": "SpriteToggleSwitch::ButtonFSM::IsFocused"
  2992.                       },
  2993.                       "parameters": [
  2994.                         "State",
  2995.                         "ButtonFSM",
  2996.                         ""
  2997.                       ]
  2998.                     }
  2999.                   ],
  3000.                   "actions": [
  3001.                     {
  3002.                       "type": {
  3003.                         "value": "SetReturnBoolean"
  3004.                       },
  3005.                       "parameters": [
  3006.                         "True"
  3007.                       ]
  3008.                     }
  3009.                   ]
  3010.                 }
  3011.               ],
  3012.               "parameters": [
  3013.                 {
  3014.                   "description": "Object",
  3015.                   "name": "Object",
  3016.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  3017.                   "type": "object"
  3018.                 }
  3019.               ],
  3020.               "objectGroups": []
  3021.             },
  3022.             {
  3023.               "description": "Check if the button is currently being pressed with mouse or touch.",
  3024.               "fullName": "Is pressed",
  3025.               "functionType": "Condition",
  3026.               "name": "IsPressed",
  3027.               "private": true,
  3028.               "sentence": "_PARAM0_ is pressed",
  3029.               "events": [
  3030.                 {
  3031.                   "type": "BuiltinCommonInstructions::Standard",
  3032.                   "conditions": [
  3033.                     {
  3034.                       "type": {
  3035.                         "value": "SpriteToggleSwitch::ButtonFSM::IsPressed"
  3036.                       },
  3037.                       "parameters": [
  3038.                         "State",
  3039.                         "ButtonFSM",
  3040.                         ""
  3041.                       ]
  3042.                     }
  3043.                   ],
  3044.                   "actions": [
  3045.                     {
  3046.                       "type": {
  3047.                         "value": "SetReturnBoolean"
  3048.                       },
  3049.                       "parameters": [
  3050.                         "True"
  3051.                       ]
  3052.                     }
  3053.                   ]
  3054.                 }
  3055.               ],
  3056.               "parameters": [
  3057.                 {
  3058.                   "description": "Object",
  3059.                   "name": "Object",
  3060.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  3061.                   "type": "object"
  3062.                 }
  3063.               ],
  3064.               "objectGroups": []
  3065.             },
  3066.             {
  3067.               "description": "Update the state animation.",
  3068.               "fullName": "Update state animation",
  3069.               "functionType": "Action",
  3070.               "name": "UpdateStateAnimation",
  3071.               "private": true,
  3072.               "sentence": "Update the state animation of _PARAM0_",
  3073.               "events": [
  3074.                 {
  3075.                   "type": "BuiltinCommonInstructions::Standard",
  3076.                   "conditions": [
  3077.                     {
  3078.                       "type": {
  3079.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked"
  3080.                       },
  3081.                       "parameters": [
  3082.                         "Object",
  3083.                         "ButtonFSM",
  3084.                         ""
  3085.                       ]
  3086.                     },
  3087.                     {
  3088.                       "type": {
  3089.                         "value": "AnimationName"
  3090.                       },
  3091.                       "parameters": [
  3092.                         "State",
  3093.                         "\"Unchecked\""
  3094.                       ]
  3095.                     }
  3096.                   ],
  3097.                   "actions": [
  3098.                     {
  3099.                       "type": {
  3100.                         "value": "SetAnimationName"
  3101.                       },
  3102.                       "parameters": [
  3103.                         "State",
  3104.                         "\"Checked\""
  3105.                       ]
  3106.                     },
  3107.                     {
  3108.                       "type": {
  3109.                         "value": "PlayAnimation"
  3110.                       },
  3111.                       "parameters": [
  3112.                         "State"
  3113.                       ]
  3114.                     }
  3115.                   ]
  3116.                 },
  3117.                 {
  3118.                   "type": "BuiltinCommonInstructions::Standard",
  3119.                   "conditions": [
  3120.                     {
  3121.                       "type": {
  3122.                         "inverted": true,
  3123.                         "value": "SpriteToggleSwitch::SpriteToggleSwitch::IsChecked"
  3124.                       },
  3125.                       "parameters": [
  3126.                         "Object",
  3127.                         "ButtonFSM",
  3128.                         ""
  3129.                       ]
  3130.                     },
  3131.                     {
  3132.                       "type": {
  3133.                         "value": "AnimationName"
  3134.                       },
  3135.                       "parameters": [
  3136.                         "State",
  3137.                         "\"Checked\""
  3138.                       ]
  3139.                     }
  3140.                   ],
  3141.                   "actions": [
  3142.                     {
  3143.                       "type": {
  3144.                         "value": "SetAnimationName"
  3145.                       },
  3146.                       "parameters": [
  3147.                         "State",
  3148.                         "\"Unchecked\""
  3149.                       ]
  3150.                     },
  3151.                     {
  3152.                       "type": {
  3153.                         "value": "PlayAnimation"
  3154.                       },
  3155.                       "parameters": [
  3156.                         "State"
  3157.                       ]
  3158.                     }
  3159.                   ]
  3160.                 }
  3161.               ],
  3162.               "parameters": [
  3163.                 {
  3164.                   "description": "Object",
  3165.                   "name": "Object",
  3166.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  3167.                   "type": "object"
  3168.                 }
  3169.               ],
  3170.               "objectGroups": []
  3171.             },
  3172.             {
  3173.               "description": "De/activate interactions with the button.",
  3174.               "fullName": "De/activate interactions",
  3175.               "functionType": "Action",
  3176.               "name": "Activate",
  3177.               "sentence": "Activate interactions with _PARAM0_: _PARAM1_",
  3178.               "events": [
  3179.                 {
  3180.                   "type": "BuiltinCommonInstructions::Standard",
  3181.                   "conditions": [
  3182.                     {
  3183.                       "type": {
  3184.                         "value": "GetArgumentAsBoolean"
  3185.                       },
  3186.                       "parameters": [
  3187.                         "\"ShouldActivate\""
  3188.                       ]
  3189.                     }
  3190.                   ],
  3191.                   "actions": [
  3192.                     {
  3193.                       "type": {
  3194.                         "value": "ActivateBehavior"
  3195.                       },
  3196.                       "parameters": [
  3197.                         "State",
  3198.                         "ButtonFSM",
  3199.                         "yes"
  3200.                       ]
  3201.                     }
  3202.                   ]
  3203.                 },
  3204.                 {
  3205.                   "type": "BuiltinCommonInstructions::Standard",
  3206.                   "conditions": [
  3207.                     {
  3208.                       "type": {
  3209.                         "inverted": true,
  3210.                         "value": "GetArgumentAsBoolean"
  3211.                       },
  3212.                       "parameters": [
  3213.                         "\"ShouldActivate\""
  3214.                       ]
  3215.                     }
  3216.                   ],
  3217.                   "actions": [
  3218.                     {
  3219.                       "type": {
  3220.                         "value": "ActivateBehavior"
  3221.                       },
  3222.                       "parameters": [
  3223.                         "State",
  3224.                         "ButtonFSM",
  3225.                         "no"
  3226.                       ]
  3227.                     }
  3228.                   ]
  3229.                 }
  3230.               ],
  3231.               "parameters": [
  3232.                 {
  3233.                   "description": "Object",
  3234.                   "name": "Object",
  3235.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  3236.                   "type": "object"
  3237.                 },
  3238.                 {
  3239.                   "description": "Activate",
  3240.                   "name": "ShouldActivate",
  3241.                   "type": "yesorno"
  3242.                 }
  3243.               ],
  3244.               "objectGroups": []
  3245.             },
  3246.             {
  3247.               "description": "Check if interactions are activated on the button.",
  3248.               "fullName": "Interactions activated",
  3249.               "functionType": "Condition",
  3250.               "name": "IsActivated",
  3251.               "sentence": "Interactions on _PARAM0_ are activated",
  3252.               "events": [
  3253.                 {
  3254.                   "type": "BuiltinCommonInstructions::Standard",
  3255.                   "conditions": [
  3256.                     {
  3257.                       "type": {
  3258.                         "value": "BehaviorActivated"
  3259.                       },
  3260.                       "parameters": [
  3261.                         "State",
  3262.                         "ButtonFSM"
  3263.                       ]
  3264.                     }
  3265.                   ],
  3266.                   "actions": [
  3267.                     {
  3268.                       "type": {
  3269.                         "value": "SetReturnBoolean"
  3270.                       },
  3271.                       "parameters": [
  3272.                         "True"
  3273.                       ]
  3274.                     }
  3275.                   ]
  3276.                 }
  3277.               ],
  3278.               "parameters": [
  3279.                 {
  3280.                   "description": "Object",
  3281.                   "name": "Object",
  3282.                   "supplementaryInformation": "SpriteToggleSwitch::SpriteToggleSwitch",
  3283.                   "type": "object"
  3284.                 }
  3285.               ],
  3286.               "objectGroups": []
  3287.             }
  3288.           ],
  3289.           "propertyDescriptors": [
  3290.             {
  3291.               "value": "true",
  3292.               "type": "Boolean",
  3293.               "label": "Is checked",
  3294.               "description": "",
  3295.               "group": "",
  3296.               "extraInformation": [],
  3297.               "name": "IsChecked"
  3298.             },
  3299.             {
  3300.               "value": "",
  3301.               "type": "Boolean",
  3302.               "label": "",
  3303.               "description": "It's used to detect a change at hot reload.",
  3304.               "group": "",
  3305.               "extraInformation": [],
  3306.               "hidden": true,
  3307.               "name": "PreviousIsChecked"
  3308.             }
  3309.           ],
  3310.           "objects": [
  3311.             {
  3312.               "adaptCollisionMaskAutomatically": true,
  3313.               "assetStoreId": "",
  3314.               "name": "State",
  3315.               "type": "Sprite",
  3316.               "updateIfNotVisible": false,
  3317.               "variables": [],
  3318.               "effects": [],
  3319.               "behaviors": [
  3320.                 {
  3321.                   "name": "ButtonFSM",
  3322.                   "type": "SpriteToggleSwitch::ButtonFSM",
  3323.                   "ShouldCheckHovering": true,
  3324.                   "State": "Idle",
  3325.                   "TouchId": 0,
  3326.                   "TouchIsInside": false,
  3327.                   "MouseIsInside": false,
  3328.                   "Index": 0
  3329.                 },
  3330.                 {
  3331.                   "name": "SwitchFSM",
  3332.                   "type": "SpriteToggleSwitch::SwitchFSM",
  3333.                   "ButtonFSM": "ButtonFSM",
  3334.                   "IsChecked": false,
  3335.                   "WasChecked": false
  3336.                 }
  3337.               ],
  3338.               "animations": [
  3339.                 {
  3340.                   "name": "Unchecked",
  3341.                   "useMultipleDirections": false,
  3342.                   "directions": [
  3343.                     {
  3344.                       "looping": false,
  3345.                       "timeBetweenFrames": 0.08,
  3346.                       "sprites": []
  3347.                     }
  3348.                   ]
  3349.                 },
  3350.                 {
  3351.                   "name": "Checked",
  3352.                   "useMultipleDirections": false,
  3353.                   "directions": [
  3354.                     {
  3355.                       "looping": false,
  3356.                       "timeBetweenFrames": 0.08,
  3357.                       "sprites": []
  3358.                     }
  3359.                   ]
  3360.                 }
  3361.               ]
  3362.             }
  3363.           ],
  3364.           "objectsFolderStructure": {
  3365.             "folderName": "__ROOT",
  3366.             "children": [
  3367.               {
  3368.                 "objectName": "State"
  3369.               }
  3370.             ]
  3371.           },
  3372.           "objectsGroups": [],
  3373.           "layers": [
  3374.             {
  3375.               "ambientLightColorB": 200,
  3376.               "ambientLightColorG": 200,
  3377.               "ambientLightColorR": 200,
  3378.               "camera3DFarPlaneDistance": 10000,
  3379.               "camera3DFieldOfView": 45,
  3380.               "camera3DNearPlaneDistance": 3,
  3381.               "cameraType": "",
  3382.               "followBaseLayerCamera": false,
  3383.               "isLightingLayer": false,
  3384.               "isLocked": false,
  3385.               "name": "",
  3386.               "renderingType": "",
  3387.               "visibility": true,
  3388.               "cameras": [
  3389.                 {
  3390.                   "defaultSize": true,
  3391.                   "defaultViewport": true,
  3392.                   "height": 0,
  3393.                   "viewportBottom": 1,
  3394.                   "viewportLeft": 0,
  3395.                   "viewportRight": 1,
  3396.                   "viewportTop": 0,
  3397.                   "width": 0
  3398.                 }
  3399.               ],
  3400.               "effects": []
  3401.             }
  3402.           ],
  3403.           "instances": []
  3404.         }
  3405.       ]
  3406.     }
  3407.   ],
  3408.   "externalLayouts": [],
  3409.   "externalSourceFiles": []
  3410. }
Tags: gdevelop
Add Comment
Please, Sign In to add comment