script: "" fonts { name: "text_bold" font: "/example/assets/fonts/text_bold.font" } textures { name: "druid" texture: "/example/assets/druid.atlas" } background_color { x: 0.0 y: 0.0 z: 0.0 w: 0.0 } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 200.0 y: 100.0 z: 0.0 w: 1.0 } color { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } type: TYPE_BOX blend_mode: BLEND_MODE_ALPHA texture: "" id: "root" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER adjust_mode: ADJUST_MODE_FIT layer: "" inherit_alpha: true slice9 { x: 0.0 y: 0.0 z: 0.0 w: 0.0 } clipping_mode: CLIPPING_MODE_NONE clipping_visible: true clipping_inverted: false alpha: 1.0 template_node_child: false size_mode: SIZE_MODE_MANUAL custom_type: 0 enabled: true visible: false material: "" } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 400.0 y: 1000.0 z: 0.0 w: 1.0 } color { x: 0.173 y: 0.184 z: 0.204 w: 1.0 } type: TYPE_BOX blend_mode: BLEND_MODE_ALPHA texture: "druid/ui_circle_32" id: "scroll_view" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER adjust_mode: ADJUST_MODE_FIT parent: "root" layer: "" inherit_alpha: true slice9 { x: 16.0 y: 16.0 z: 16.0 w: 16.0 } clipping_mode: CLIPPING_MODE_STENCIL clipping_visible: true clipping_inverted: false alpha: 1.0 template_node_child: false size_mode: SIZE_MODE_MANUAL custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: 0.0 y: 500.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 400.0 y: 1700.0 z: 0.0 w: 1.0 } color { x: 0.173 y: 0.184 z: 0.204 w: 1.0 } type: TYPE_BOX blend_mode: BLEND_MODE_ALPHA texture: "druid/empty" id: "scroll_content" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_N adjust_mode: ADJUST_MODE_FIT parent: "scroll_view" layer: "" inherit_alpha: true slice9 { x: 16.0 y: 16.0 z: 16.0 w: 16.0 } clipping_mode: CLIPPING_MODE_NONE clipping_visible: true clipping_inverted: false alpha: 1.0 template_node_child: false size_mode: SIZE_MODE_MANUAL custom_type: 0 enabled: true visible: false material: "" } nodes { position { x: 0.0 y: -946.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 200.0 y: 100.0 z: 0.0 w: 1.0 } color { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } type: TYPE_TEMPLATE id: "button_tutorial" parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 template: "/example/templates/button_text_green.gui" template_node_child: false custom_type: 0 enabled: true } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 280.0 y: 90.0 z: 0.0 w: 1.0 } color { x: 0.557 y: 0.835 z: 0.62 w: 1.0 } type: TYPE_BOX blend_mode: BLEND_MODE_ALPHA texture: "druid/ui_circle_32" id: "button_tutorial/root" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER adjust_mode: ADJUST_MODE_FIT parent: "button_tutorial" layer: "druid" inherit_alpha: true slice9 { x: 16.0 y: 16.0 z: 16.0 w: 16.0 } clipping_mode: CLIPPING_MODE_NONE clipping_visible: true clipping_inverted: false alpha: 1.0 template_node_child: true size_mode: SIZE_MODE_MANUAL custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 245.0 y: 50.0 z: 0.0 w: 1.0 } color { x: 0.31 y: 0.318 z: 0.322 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "I do nothing!" font: "text_bold" id: "button_tutorial/text" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: false parent: "button_tutorial/root" layer: "text_bold" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 overridden_fields: 8 template_node_child: true text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: -185.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 0.75 y: 0.75 z: 1.0 w: 1.0 } size { x: 500.0 y: 900.0 z: 0.0 w: 1.0 } color { x: 0.722 y: 0.741 z: 0.761 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "To setup scroll in your scene\n" "\n" "- Place \"View\" box node\n" "\n" "- Put \"Content\" node inside \"Scroll View\"\n" "\n" "- Init scroll with `druid:new_scroll(\"view\", \"content\")" font: "text_bold" id: "ui_scroll_text_1" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_NW outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 template_node_child: false text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: -185.0 y: -482.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 0.75 y: 0.75 z: 1.0 w: 1.0 } size { x: 500.0 y: 400.0 z: 0.0 w: 1.0 } color { x: 0.722 y: 0.741 z: 0.761 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "Now your content node can be scrollable in View node borders. In this example the content node contains this tutorial text" font: "text_bold" id: "ui_scroll_text_2" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_NW outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 template_node_child: false text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: -185.0 y: -713.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 0.75 y: 0.75 z: 1.0 w: 1.0 } size { x: 500.0 y: 400.0 z: 0.0 w: 1.0 } color { x: 0.722 y: 0.741 z: 0.761 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "All other components are placed as usual.\n" "\n" "For example, button:" font: "text_bold" id: "ui_scroll_text_3" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_NW outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 template_node_child: false text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: -185.0 y: -1042.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 0.75 y: 0.75 z: 1.0 w: 1.0 } size { x: 500.0 y: 400.0 z: 0.0 w: 1.0 } color { x: 0.722 y: 0.741 z: 0.761 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "You probably wish to add \"stencil\" to your view node to clip all content what outside scroll" font: "text_bold" id: "ui_scroll_text_4" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_NW outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 template_node_child: false text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: -185.0 y: -1257.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 0.75 y: 0.75 z: 1.0 w: 1.0 } size { x: 500.0 y: 400.0 z: 0.0 w: 1.0 } color { x: 0.722 y: 0.741 z: 0.761 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "Druid automatically checks the stencil nodes to add a \"click zone\" for input elements like buttons to prevent the input if they are outside of stencil nodes" font: "text_bold" id: "ui_scroll_text_5" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_NW outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 template_node_child: false text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: 0.0 y: -1605.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 200.0 y: 100.0 z: 0.0 w: 1.0 } color { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } type: TYPE_TEMPLATE id: "button_stencil" parent: "scroll_content" layer: "" inherit_alpha: true alpha: 1.0 template: "/example/templates/button_text_green.gui" template_node_child: false custom_type: 0 enabled: true } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 280.0 y: 90.0 z: 0.0 w: 1.0 } color { x: 0.557 y: 0.835 z: 0.62 w: 1.0 } type: TYPE_BOX blend_mode: BLEND_MODE_ALPHA texture: "druid/ui_circle_32" id: "button_stencil/root" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER adjust_mode: ADJUST_MODE_FIT parent: "button_stencil" layer: "druid" inherit_alpha: true slice9 { x: 16.0 y: 16.0 z: 16.0 w: 16.0 } clipping_mode: CLIPPING_MODE_NONE clipping_visible: true clipping_inverted: false alpha: 1.0 template_node_child: true size_mode: SIZE_MODE_MANUAL custom_type: 0 enabled: true visible: true material: "" } nodes { position { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } rotation { x: 0.0 y: 0.0 z: 0.0 w: 1.0 } scale { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } size { x: 245.0 y: 50.0 z: 0.0 w: 1.0 } color { x: 0.31 y: 0.318 z: 0.322 w: 1.0 } type: TYPE_TEXT blend_mode: BLEND_MODE_ALPHA text: "Try click me outside" font: "text_bold" id: "button_stencil/text" xanchor: XANCHOR_NONE yanchor: YANCHOR_NONE pivot: PIVOT_CENTER outline { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } shadow { x: 1.0 y: 1.0 z: 1.0 w: 1.0 } adjust_mode: ADJUST_MODE_FIT line_break: true parent: "button_stencil/root" layer: "text_bold" inherit_alpha: true alpha: 1.0 outline_alpha: 0.0 shadow_alpha: 0.0 overridden_fields: 8 overridden_fields: 18 template_node_child: true text_leading: 1.0 text_tracking: 0.0 custom_type: 0 enabled: true visible: true material: "" } material: "/builtins/materials/gui.material" adjust_reference: ADJUST_REFERENCE_PARENT max_nodes: 512