diff --git a/README.md b/README.md index e43e429..90dc26e 100644 --- a/README.md +++ b/README.md @@ -200,21 +200,6 @@ https://insality.github.io/druid/ _Will fill later_ -## Future plans - -- Basic input component - -- Add on_layout_change support (to keep gui data between layout change) - -- Add on_change_language support (call single function to update all Druid instance) - -- Unit tests - -- Better documentation and examples - -- Add more comfortable gamepad support for GUI (ability to select button with DPAD and other stuff) - - ## License Original created by [AGulev](https://github.com/AGulev) diff --git a/docs/druid/archive/archive_files.json b/docs/druid/archive/archive_files.json index 58cf9cb..c1178a4 100644 --- a/docs/druid/archive/archive_files.json +++ b/docs/druid/archive/archive_files.json @@ -1 +1 @@ -{"content":[{"name":"game.projectc","size":2709,"pieces":[{"name":"game.projectc0","offset":0}]},{"name":"game.arci","size":4608,"pieces":[{"name":"game.arci0","offset":0}]},{"name":"game.arcd","size":263313,"pieces":[{"name":"game.arcd0","offset":0}]},{"name":"game.dmanifest","size":9895,"pieces":[{"name":"game.dmanifest0","offset":0}]},{"name":"game.public.der","size":162,"pieces":[{"name":"game.public.der0","offset":0}]}]} \ No newline at end of file +{"content":[{"name":"game.projectc","size":2713,"pieces":[{"name":"game.projectc0","offset":0}]},{"name":"game.arci","size":4688,"pieces":[{"name":"game.arci0","offset":0}]},{"name":"game.arcd","size":264687,"pieces":[{"name":"game.arcd0","offset":0}]},{"name":"game.dmanifest","size":10104,"pieces":[{"name":"game.dmanifest0","offset":0}]},{"name":"game.public.der","size":162,"pieces":[{"name":"game.public.der0","offset":0}]}]} \ No newline at end of file diff --git a/docs/druid/archive/game.arcd0 b/docs/druid/archive/game.arcd0 index c4149f2..21c7d0c 100644 Binary files a/docs/druid/archive/game.arcd0 and b/docs/druid/archive/game.arcd0 differ diff --git a/docs/druid/archive/game.arci0 b/docs/druid/archive/game.arci0 index 2d8fed9..95f2a54 100644 Binary files a/docs/druid/archive/game.arci0 and b/docs/druid/archive/game.arci0 differ diff --git a/docs/druid/archive/game.dmanifest0 b/docs/druid/archive/game.dmanifest0 index 5e6862a..6f90eb6 100644 Binary files a/docs/druid/archive/game.dmanifest0 and b/docs/druid/archive/game.dmanifest0 differ diff --git a/docs/druid/archive/game.projectc0 b/docs/druid/archive/game.projectc0 index 9677482..72abf3c 100644 --- a/docs/druid/archive/game.projectc0 +++ b/docs/druid/archive/game.projectc0 @@ -155,7 +155,7 @@ max_count = 16 max_tile_count = 2048 [druid] -autofocus = 1 +no_auto_input = 0 [native_extension] app_manifest = /example/game.appmanifest diff --git a/docs/index.html b/docs/index.html index f70f2e4..87c1f53 100644 --- a/docs/index.html +++ b/docs/index.html @@ -185,7 +185,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/component.html b/docs/modules/component.html index 1f148a1..4e3c79a 100644 --- a/docs/modules/component.html +++ b/docs/modules/component.html @@ -440,7 +440,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.back_handler.html b/docs/modules/druid.back_handler.html index c80f183..31faacf 100644 --- a/docs/modules/druid.back_handler.html +++ b/docs/modules/druid.back_handler.html @@ -215,7 +215,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.blocker.html b/docs/modules/druid.blocker.html index 6c15349..792519a 100644 --- a/docs/modules/druid.blocker.html +++ b/docs/modules/druid.blocker.html @@ -234,7 +234,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.button.html b/docs/modules/druid.button.html index e08067f..956c98c 100644 --- a/docs/modules/druid.button.html +++ b/docs/modules/druid.button.html @@ -404,7 +404,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.checkbox.html b/docs/modules/druid.checkbox.html index 8364f00..013ee8a 100644 --- a/docs/modules/druid.checkbox.html +++ b/docs/modules/druid.checkbox.html @@ -277,7 +277,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.checkbox_group.html b/docs/modules/druid.checkbox_group.html index 2c63f9a..bf11124 100644 --- a/docs/modules/druid.checkbox_group.html +++ b/docs/modules/druid.checkbox_group.html @@ -239,7 +239,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.grid.html b/docs/modules/druid.grid.html index b5564b9..9bec5e2 100644 --- a/docs/modules/druid.grid.html +++ b/docs/modules/druid.grid.html @@ -370,7 +370,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.helper.html b/docs/modules/druid.helper.html index dbfbaf8..9ddb960 100644 --- a/docs/modules/druid.helper.html +++ b/docs/modules/druid.helper.html @@ -236,7 +236,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.hover.html b/docs/modules/druid.hover.html index 81a6999..f2b29ac 100644 --- a/docs/modules/druid.hover.html +++ b/docs/modules/druid.hover.html @@ -211,7 +211,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.html b/docs/modules/druid.html index 6901a78..3bb74e7 100644 --- a/docs/modules/druid.html +++ b/docs/modules/druid.html @@ -181,7 +181,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.input.html b/docs/modules/druid.input.html index eb2c15a..0334fd1 100644 --- a/docs/modules/druid.input.html +++ b/docs/modules/druid.input.html @@ -86,7 +86,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.lang_text.html b/docs/modules/druid.lang_text.html index 80038b0..ba2169c 100644 --- a/docs/modules/druid.lang_text.html +++ b/docs/modules/druid.lang_text.html @@ -240,7 +240,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.progress.html b/docs/modules/druid.progress.html index 0479611..841692c 100644 --- a/docs/modules/druid.progress.html +++ b/docs/modules/druid.progress.html @@ -379,7 +379,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.radio_group.html b/docs/modules/druid.radio_group.html index fd5cb47..6fb9890 100644 --- a/docs/modules/druid.radio_group.html +++ b/docs/modules/druid.radio_group.html @@ -239,7 +239,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.scroll.html b/docs/modules/druid.scroll.html index 1d7045d..0b34dc6 100644 --- a/docs/modules/druid.scroll.html +++ b/docs/modules/druid.scroll.html @@ -507,7 +507,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.slider.html b/docs/modules/druid.slider.html index 89ccf5b..077bdb9 100644 --- a/docs/modules/druid.slider.html +++ b/docs/modules/druid.slider.html @@ -278,7 +278,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.text.html b/docs/modules/druid.text.html index 1cd2d9e..32ed971 100644 --- a/docs/modules/druid.text.html +++ b/docs/modules/druid.text.html @@ -352,7 +352,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid.timer.html b/docs/modules/druid.timer.html index d89517a..1c73f4b 100644 --- a/docs/modules/druid.timer.html +++ b/docs/modules/druid.timer.html @@ -293,7 +293,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid_event.html b/docs/modules/druid_event.html index ec448eb..25f3c52 100644 --- a/docs/modules/druid_event.html +++ b/docs/modules/druid_event.html @@ -239,7 +239,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/modules/druid_instance.html b/docs/modules/druid_instance.html index 40abbe6..d08a246 100644 --- a/docs/modules/druid_instance.html +++ b/docs/modules/druid_instance.html @@ -769,7 +769,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/01-components.md.html b/docs/topics/01-components.md.html index 2a2afb2..3fdaf17 100644 --- a/docs/topics/01-components.md.html +++ b/docs/topics/01-components.md.html @@ -124,7 +124,8 @@ Where node name is name of node from GUI scene. You can use node_namet trigger if callback is empty -

- If you have stencil on buttons and you don't want trigger them outside of stencil node, you can use button:set_click_zone to restrict button click zone +

- If button have double click event and it is triggered, usual callback will be not invoked +- If you have stencil on buttons and you don't want trigger them outside of stencil node, you can use button:set_click_zone to restrict button click zone - Button can have key trigger to use then by key: button:set_key_trigger - Animation node can be used for example to animate small icon on big panel. Node name of trigger zone will be big panel and animation node will be small icon

@@ -137,7 +138,7 @@ Where node name is name of node from GUI scene. You can use node_nameBasic Druid text component. Text components by default have the text size adjusting.

Setup

-

Create text node with druid: text = druid:new_text(node_name, [initial_value])

+

Create text node with druid: text = druid:new_text(node_name, [initial_value], [is_disable_size_adjust])

Notes

- Text component by default have auto adjust text sizing. Text never will be bigger, than text node size, which you can setup in GUI scene. It can be disabled on component creating by settings argument is_no_adjust to true

@@ -373,7 +374,7 @@ Key is value from druid const: const.SIDE.X (or just "x") or const.SIDE.Y (or ju
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/02-creating_custom_components.md.html b/docs/topics/02-creating_custom_components.md.html index 30efb0f..6880c7f 100644 --- a/docs/topics/02-creating_custom_components.md.html +++ b/docs/topics/02-creating_custom_components.md.html @@ -82,7 +82,9 @@

Overview

-

Druid allows you to create your custom components from druid basic components or other custom components

+

Druid allows you to create your custom components from druid basic components or other custom components.

+ +

Every component is the children of Basic Druid component. Read the [basic component API here].(https://insality.github.io/druid/modules/component.html), Methods of basic components you can call via self:{method_name}

@@ -94,7 +96,7 @@ local const = require("druid.const") local component = require("druid.component") -local M = component.create("name_your_component") +local M = component.create("my_component") -- Component constructor function M.init(self, ...) @@ -146,16 +148,22 @@ -

Registering make new function with "new{componentname}". In our example it will be: druid:new_my_component()

+

Registering make new function with "new{componentname}". In our example it will be: druid:new_my_component().

+ +

Or you can create component without registering with druid:create(my_component_module)

As component registered, you can create your component with next code:

 local druid = require("druid.druid")
+local my_component = require("my.amazing.component")
 
 function init(self)
     self.druid = druid.new(self)
+
     local my_component = self.druid:new_my_component(...)
+    -- or --
+ local my_component = self.druid:create(my_component, ...)
 end
 
@@ -225,7 +233,7 @@ There is next interests in druid:
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/03-styles.md.html b/docs/topics/03-styles.md.html index 259f54d..d632be3 100644 --- a/docs/topics/03-styles.md.html +++ b/docs/topics/03-styles.md.html @@ -138,7 +138,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/04-druid_assets.md.html b/docs/topics/04-druid_assets.md.html index 85d8667..3d87441 100644 --- a/docs/topics/04-druid_assets.md.html +++ b/docs/topics/04-druid_assets.md.html @@ -89,7 +89,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/05-examples.md.html b/docs/topics/05-examples.md.html index ba040e2..5531e13 100644 --- a/docs/topics/05-examples.md.html +++ b/docs/topics/05-examples.md.html @@ -87,7 +87,7 @@
generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
diff --git a/docs/topics/README.md.html b/docs/topics/README.md.html index 02732fa..197a296 100644 --- a/docs/topics/README.md.html +++ b/docs/topics/README.md.html @@ -41,7 +41,6 @@
  • Examples
  • Documentation
  • Games powered by Druid
  • -
  • Future plans
  • License
  • Issues and suggestions
  • @@ -156,19 +155,19 @@

    Full info see on components.md

    @@ -294,19 +293,6 @@ https://insality.github.io/druid/

    Will fill later

    -

    -

    Future plans

    - - - -

    License

    @@ -328,7 +314,7 @@ https://insality.github.io/druid/

    generated by LDoc 1.4.6 -Last updated 2020-04-09 22:11:32 +Last updated 2020-04-13 19:36:00
    diff --git a/docs_md/01-components.md b/docs_md/01-components.md index 28e427e..25aafcb 100644 --- a/docs_md/01-components.md +++ b/docs_md/01-components.md @@ -25,6 +25,7 @@ Where node name is name of node from GUI scene. You can use `node_name` as input - **on_long_click** - callback on long button tap, don't trigger if callback is empty - **on_hold_click** - hold callback, before long_click trigger, don't trigger if callback is empty - **on_double_click** - different callback, if tap button 2+ in row, don't trigger if callback is empty +- If button have double click event and it is triggered, usual callback will be not invoked - If you have stencil on buttons and you don't want trigger them outside of stencil node, you can use `button:set_click_zone` to restrict button click zone - Button can have key trigger to use then by key: `button:set_key_trigger` - Animation node can be used for example to animate small icon on big panel. Node name of trigger zone will be `big panel` and animation node will be `small icon` @@ -37,7 +38,7 @@ Where node name is name of node from GUI scene. You can use `node_name` as input Basic Druid text component. Text components by default have the text size adjusting. ### Setup -Create text node with druid: `text = druid:new_text(node_name, [initial_value])` +Create text node with druid: `text = druid:new_text(node_name, [initial_value], [is_disable_size_adjust])` ### Notes - Text component by default have auto adjust text sizing. Text never will be bigger, than text node size, which you can setup in GUI scene. It can be disabled on component creating by settings argument `is_no_adjust` to _true_ diff --git a/docs_md/02-creating_custom_components.md b/docs_md/02-creating_custom_components.md index 07fd051..f163c5c 100644 --- a/docs_md/02-creating_custom_components.md +++ b/docs_md/02-creating_custom_components.md @@ -2,7 +2,9 @@ ## Overview -Druid allows you to create your custom components from druid basic components or other custom components +Druid allows you to create your custom components from druid basic components or other custom components. + +Every component is the children of Basic Druid component. Read the [basic component API here].(https://insality.github.io/druid/modules/component.html), Methods of basic components you can call via self:{method_name} ## Custom components @@ -12,7 +14,7 @@ Basic custom component template looks like this: local const = require("druid.const") local component = require("druid.component") -local M = component.create("name_your_component") +local M = component.create("my_component") -- Component constructor function M.init(self, ...) @@ -61,15 +63,21 @@ function init(self) end ``` -Registering make new function with "new_{component_name}". In our example it will be: `druid:new_my_component()` +Registering make new function with "new_{component_name}". In our example it will be: `druid:new_my_component()`. + +Or you can create component without registering with `druid:create(my_component_module)` As component registered, you can create your component with next code: ```lua local druid = require("druid.druid") +local my_component = require("my.amazing.component") function init(self) self.druid = druid.new(self) + local my_component = self.druid:new_my_component(...) + -- or -- + local my_component = self.druid:create(my_component, ...) end ``` diff --git a/druid/styles/default/anims.lua b/druid/styles/default/anims.lua index d2d3d69..5852d4e 100644 --- a/druid/styles/default/anims.lua +++ b/druid/styles/default/anims.lua @@ -5,7 +5,7 @@ local function scale_to(self, node, to, callback, time, delay, easing) easing = easing or gui.EASING_INSINE time = time or M.SCALE_ANIMATION_TIME delay = delay or 0 - time = time or 0.25 + time = time or 0.10 gui.animate(node, gui.PROP_SCALE, to, easing, time, delay, function() if callback then diff --git a/druid/styles/default/style.lua b/druid/styles/default/style.lua index 5e3e05b..eaddd9d 100644 --- a/druid/styles/default/style.lua +++ b/druid/styles/default/style.lua @@ -5,9 +5,9 @@ local M = {} M["button"] = { - HOVER_SCALE = vmath.vector3(-0.025, -0.025, 1), - HOVER_TIME = 0.05, - SCALE_CHANGE = vmath.vector3(-0.05, -0.05, 1), + HOVER_SCALE = vmath.vector3(0.02, 0.02, 1), + HOVER_TIME = 0.04, + SCALE_CHANGE = vmath.vector3(0.035, 0.035, 1), BTN_SOUND = "click", BTN_SOUND_DISABLED = "click", DISABLED_COLOR = vmath.vector4(0, 0, 0, 1), diff --git a/example/gui/main/main.gui b/example/gui/main/main.gui index be6d0fc..91ec206 100644 --- a/example/gui/main/main.gui +++ b/example/gui/main/main.gui @@ -5915,6 +5915,1705 @@ nodes { text_leading: 1.0 text_tracking: 0.0 } +nodes { + position { + x: 0.0 + y: -960.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: 600.0 + y: 300.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: "kenney/empty" + id: "children_scroll" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "scroll_page_content" + layer: "image" + inherit_alpha: true + slice9 { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 + } + clipping_mode: CLIPPING_MODE_STENCIL + clipping_visible: true + clipping_inverted: false + alpha: 1.0 + template_node_child: false + size_mode: SIZE_MODE_MANUAL +} +nodes { + position { + x: 300.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: 1200.0 + y: 300.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.9019608 + y: 0.9019608 + z: 0.5019608 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "children_scroll_content" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll" + layer: "image" + 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 +} +nodes { + position { + x: -500.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: 300.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.9019608 + y: 0.3019608 + z: 0.3019608 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "children_scroll_1" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_content" + 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 +} +nodes { + position { + x: 0.0 + y: 150.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: 600.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: "kenney/empty" + id: "children_scroll_content_1" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_N + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_1" + 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 +} +nodes { + position { + x: 0.0 + y: -320.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_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "Scroll me up!\n" + "\n" + "\n" + "Scroll me down!" + font: "game" + id: "children_scroll_text_1" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 0.0 + y: 0.0 + z: 0.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: "children_scroll_content_1" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 0.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 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: 300.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.5019608 + y: 0.3019608 + z: 0.5019608 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "children_scroll_2" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_content" + 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 +} +nodes { + position { + x: 0.0 + y: 150.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: 600.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: "kenney/empty" + id: "children_scroll_content_2" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_N + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_2" + 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 +} +nodes { + position { + x: 0.0 + y: -320.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_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "Scroll me up!\n" + "\n" + "\n" + "Scroll me down!" + font: "game" + id: "children_scroll_text_2" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 0.0 + y: 0.0 + z: 0.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: "children_scroll_content_2" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 0.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 +} +nodes { + position { + x: 500.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: 300.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.6 + y: 0.3019608 + z: 0.4 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "children_scroll_3" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_content" + 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 +} +nodes { + position { + x: 0.0 + y: 150.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: 600.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: "kenney/empty" + id: "children_scroll_content_3" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_N + adjust_mode: ADJUST_MODE_FIT + parent: "children_scroll_3" + 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 +} +nodes { + position { + x: 0.0 + y: -320.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_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "Scroll me up!\n" + "\n" + "\n" + "Scroll me down!" + font: "game" + id: "children_scroll_text_3" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 0.0 + y: 0.0 + z: 0.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: "children_scroll_content_3" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 0.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 +} +nodes { + position { + x: 2400.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: 1.0 + y: 1.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: "kenney/empty" + id: "slider_page" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_STRETCH + parent: "C_Anchor" + layer: "image" + 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_AUTO +} +nodes { + position { + x: 0.0 + y: 200.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: 190.0 + y: 4.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: "kenney/slider_back" + id: "slider_back_simple" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "slider_page" + layer: "image" + 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_AUTO +} +nodes { + position { + x: -95.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.7 + y: 0.7 + z: 1.0 + w: 1.0 + } + size { + x: 36.0 + y: 36.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: "kenney/slider_move" + id: "slider_simple_pin" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "slider_back_simple" + layer: "image" + 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_AUTO +} +nodes { + position { + x: 0.0 + y: 30.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 0.7 + y: 0.7 + z: 1.0 + w: 1.0 + } + size { + x: 100.0 + y: 60.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "50%" + font: "game" + id: "slider_simple_text" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 0.0 + y: 0.0 + z: 0.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: "slider_back_simple" + layer: "text" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 0.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 +} +nodes { + position { + x: 0.0 + y: 50.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: 190.0 + y: 4.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: "kenney/slider_back" + id: "slider_back_notched" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "slider_page" + layer: "image" + 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_AUTO +} +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: 1.0 + y: 1.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: "kenney/empty" + id: "notches" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "slider_back_notched" + 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_AUTO +} +nodes { + position { + x: -95.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_0" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: -76.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_1" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: -57.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_2" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: -38.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_3" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: -19.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_4" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +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: 0.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_5" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: 19.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_6" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: 38.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_7" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: 57.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_8" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: 76.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_9" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: 95.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.1 + y: 0.6 + z: 1.0 + w: 1.0 + } + size { + x: 17.0 + y: 17.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: "kenney/tick" + id: "notch_10" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "notches" + 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: 0.5 + template_node_child: false + size_mode: SIZE_MODE_AUTO +} +nodes { + position { + x: -95.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.7 + y: 0.7 + z: 1.0 + w: 1.0 + } + size { + x: 36.0 + y: 36.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: "kenney/slider_move" + id: "slider_notched_pin" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "slider_back_notched" + layer: "image" + 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_AUTO +} +nodes { + position { + x: 0.0 + y: 30.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 0.7 + y: 0.7 + z: 1.0 + w: 1.0 + } + size { + x: 100.0 + y: 60.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "50%" + font: "game" + id: "slider_notched_text" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 0.0 + y: 0.0 + z: 0.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: "slider_back_notched" + layer: "text" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 0.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 +} nodes { position { x: 0.0 diff --git a/example/gui/main/main.gui_script b/example/gui/main/main.gui_script index 26f3d8a..e9a0106 100644 --- a/example/gui/main/main.gui_script +++ b/example/gui/main/main.gui_script @@ -7,12 +7,14 @@ local main_page = require("example.page.main") local text_page = require("example.page.texts") local button_page = require("example.page.button") local scroll_page = require("example.page.scroll") +local slider_page = require("example.page.slider") local pages = { "main_page", "texts_page", "button_page", "scroll_page", + "slider_page", } local function on_control_button(self, delta) @@ -47,6 +49,7 @@ function init(self) text_page.setup_page(self) button_page.setup_page(self) scroll_page.setup_page(self) + slider_page.setup_page(self) -- Refresh state on_control_button(self, 0) diff --git a/example/lang.lua b/example/lang.lua index c7eb298..addbb3d 100644 --- a/example/lang.lua +++ b/example/lang.lua @@ -7,6 +7,7 @@ local en = { texts_page = "Text page", button_page = "Button page", scroll_page = "Scroll page", + slider_page = "Slider page", ui_section_button = "Button", ui_section_text = "Text", ui_section_timer = "Timer", @@ -23,6 +24,7 @@ local ru = { texts_page = "Текст", button_page = "Кнопки", scroll_page = "Скролл", + slider_page = "Слайдеры", ui_section_button = "Кнопка", ui_section_text = "Текст", ui_section_timer = "Таймер", @@ -48,4 +50,4 @@ function M.toggle_locale() msg.post("/gui#main", const.ON_CHANGE_LANGUAGE) end -return M \ No newline at end of file +return M diff --git a/example/page/scroll.lua b/example/page/scroll.lua index 6557082..d15015b 100644 --- a/example/page/scroll.lua +++ b/example/page/scroll.lua @@ -39,6 +39,15 @@ end function M.setup_page(self) self.druid:new_scroll("scroll_page_content", "scroll_page") self.druid:new_scroll("simple_scroll_content", "simple_scroll_input") + + -- scroll contain scrolls: + -- parent first + self.druid:new_scroll("children_scroll_content", "children_scroll") + -- chilren next + self.druid:new_scroll("children_scroll_content_1", "children_scroll_1") + self.druid:new_scroll("children_scroll_content_2", "children_scroll_2") + self.druid:new_scroll("children_scroll_content_3", "children_scroll_3") + init_grid(self) end diff --git a/example/page/slider.lua b/example/page/slider.lua new file mode 100644 index 0000000..a7bcdd4 --- /dev/null +++ b/example/page/slider.lua @@ -0,0 +1,20 @@ +local M = {} + + +function M.setup_page(self) + local slider = self.druid:new_slider("slider_simple_pin", vmath.vector3(95, 0, 0), function(_, value) + gui.set_text(gui.get_node("slider_simple_text"), math.ceil(value * 100) .. "%") + end) + + slider:set(0.2) + + local slider_notched = self.druid:new_slider("slider_notched_pin", vmath.vector3(95, 0, 0), function(_, value) + gui.set_text(gui.get_node("slider_notched_text"), math.ceil(value * 100) .. "%") + end) + + slider_notched:set_steps({0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}) + slider_notched:set(0.2) +end + + +return M