دسته های تو در تو

دسته ها ممکن است در دسته های دیگر تودرتو باشند. در اینجا دو دسته سطح بالا ("Core" و "Custom") وجود دارد که دسته دوم شامل دو زیرمجموعه است که هر کدام شامل بلوک هستند:

توجه داشته باشید که این امکان وجود دارد که یک دسته دارای هر دو زیر شاخه و بلوک باشد. در مثال زیر، Custom دارای دو زیرمجموعه ( Move و Turn ) و همچنین یک بلوک مخصوص به خود ( start ) است.

JSON

{
  "kind": "categoryToolbox",
  "contents": [
    {
      "kind": "category",
      "name": "Core",
      "contents": [
        {
          "kind": "block",
          "type": "controls_if"
        },
        {
          "kind": "block",
          "type": "logic_compare"
        },
      ]
    },
    {
      "kind": "category",
      "name": "Custom",
      "contents": [
        {
          "kind": "block",
          "type": "start"
        },
        {
          "kind": "category",
          "name": "Move",
          "contents": [
            {
              "kind": "block",
              "type": "move_forward"
            }
          ]
        },
        {
          "kind": "category",
          "name": "Turn",
          "contents": [
            {
              "kind": "block",
              "type": "turn_left"
            }
          ]
        }
      ]
    }
  ]
}

XML

<xml id="toolbox" style="display: none">
  <category name="Core">
    <block type="controls_if"></block>
    <block type="logic_compare"></block>
  </category>
  <category name="Custom">
    <block type="start"></block>
    <category name="Move">
      <block type="move_forward"></block>
    </category>
    <category name="Turn">
      <block type="turn_left"></block>
    </category>
  </category>
</xml>