From 2c762716bbe6835115de523ade5f5573c2dc6088 Mon Sep 17 00:00:00 2001 From: Insality Date: Thu, 17 Oct 2024 01:10:21 +0300 Subject: [PATCH] Remove current Druid example --- example/assets/fonts/Exo2-LightItalic.ttf | Bin 126472 -> 0 bytes example/assets/fonts/Exo2-Regular.ttf | Bin 126624 -> 0 bytes example/assets/fonts/exo2.ttf | Bin 110068 -> 0 bytes example/assets/fonts/game.font | 17 - example/assets/fonts/game_thin.font | 17 - example/assets/fonts/game_thin_italic.font | 17 - example/assets/images/back/back_blue.png | Bin 438 -> 0 bytes example/assets/images/back/back_gray.png | Bin 585 -> 0 bytes example/assets/images/back/back_green.png | Bin 440 -> 0 bytes example/assets/images/back/back_red.png | Bin 442 -> 0 bytes example/assets/images/buttons/button_blue.png | Bin 480 -> 0 bytes .../assets/images/buttons/button_green.png | Bin 474 -> 0 bytes example/assets/images/buttons/button_red.png | Bin 480 -> 0 bytes .../assets/images/buttons/button_yellow.png | Bin 452 -> 0 bytes example/assets/images/empty.png | Bin 14525 -> 0 bytes example/assets/images/kenney.atlas | 71 - example/assets/images/logo.png | Bin 25918 -> 0 bytes .../assets/images/progress/progress_back.png | Bin 439 -> 0 bytes .../images/progress/progress_fill_green.png | Bin 471 -> 0 bytes .../images/progress/progress_fill_red.png | Bin 479 -> 0 bytes .../images/progress/progress_fill_yellow.png | Bin 458 -> 0 bytes .../assets/images/radio/check_back_circle.png | Bin 817 -> 0 bytes .../assets/images/radio/check_back_square.png | Bin 535 -> 0 bytes example/assets/images/radio/checkmark.png | Bin 366 -> 0 bytes example/assets/images/radio/tick.png | Bin 293 -> 0 bytes example/assets/images/slider/slider_back.png | Bin 153 -> 0 bytes example/assets/images/slider/slider_move.png | Bin 897 -> 0 bytes example/assets/sounds/click.ogg | Bin 6952 -> 0 bytes example/custom.display_profiles | 14 - example/custom.texture_profiles | 18 - example/engine_template.html | 210 - example/example.collection | 903 ----- example/example.gui | 1384 ------- example/example.gui_script | 315 -- .../custom/rich_input/rich_input.collection | 37 - .../examples/custom/rich_input/rich_input.gui | 535 --- .../custom/rich_input/rich_input.gui_script | 32 - .../custom/rich_text/rich_text.collection | 39 - .../examples/custom/rich_text/rich_text.gui | 94 - .../custom/rich_text/rich_text.gui_script | 92 - .../add_remove_nodes.collection | 37 - .../add_remove_nodes/add_remove_nodes.gui | 859 ---- .../add_remove_nodes.gui_script | 70 - .../dynamic_grid/dynamic_grid.collection | 37 - .../data_list/dynamic_grid/dynamic_grid.gui | 542 --- .../dynamic_grid/dynamic_grid.gui_script | 95 - .../manage_data/manage_data.collection | 39 - .../data_list/manage_data/manage_data.gui | 774 ---- .../manage_data/manage_data.gui_script | 78 - .../data_list/navigate/navigate.collection | 37 - .../examples/data_list/navigate/navigate.gui | 1838 --------- .../data_list/navigate/navigate.gui_script | 104 - .../reinit_data/reinit_data.collection | 37 - .../data_list/reinit_data/reinit_data.gui | 751 ---- .../reinit_data/reinit_data.gui_script | 65 - .../static_grid/static_grid.collection | 37 - .../data_list/static_grid/static_grid.gui | 834 ---- .../static_grid/static_grid.gui_script | 103 - .../button_component/button_component.gui | 249 -- .../button_component/button_component.lua | 67 - .../with_component/with_component.collection | 37 - .../with_component/with_component.gui | 528 --- .../with_component/with_component.gui_script | 89 - .../general/buttons/buttons.collection | 37 - example/examples/general/buttons/buttons.gui | 1602 -------- .../general/buttons/buttons.gui_script | 98 - .../general/checkboxes/checkboxes.collection | 37 - .../general/checkboxes/checkboxes.gui | 1454 ------- .../general/checkboxes/checkboxes.gui_script | 45 - .../general/data_list/data_list.collection | 37 - .../examples/general/data_list/data_list.gui | 479 --- .../general/data_list/data_list.gui_script | 69 - example/examples/general/drag/drag.collection | 37 - example/examples/general/drag/drag.gui | 482 --- example/examples/general/drag/drag.gui_script | 54 - example/examples/general/grid/grid.collection | 37 - example/examples/general/grid/grid.gui | 2058 ---------- example/examples/general/grid/grid.gui_script | 224 -- .../examples/general/hotkey/hotkey.collection | 37 - example/examples/general/hotkey/hotkey.gui | 207 - .../examples/general/hotkey/hotkey.gui_script | 38 - .../examples/general/hover/hover.collection | 39 - example/examples/general/hover/hover.gui | 249 -- .../examples/general/hover/hover.gui_script | 41 - .../examples/general/input/input.collection | 37 - example/examples/general/input/input.gui | 1022 ----- .../examples/general/input/input.gui_script | 31 - .../examples/general/layout/layout.collection | 37 - example/examples/general/layout/layout.gui | 679 ---- .../examples/general/layout/layout.gui_script | 33 - .../general/overview/overview.collection | 37 - .../examples/general/overview/overview.gui | 3478 ----------------- .../general/overview/overview.gui_script | 117 - .../progress_bar/progress_bar.collection | 37 - .../general/progress_bar/progress_bar.gui | 981 ----- .../progress_bar/progress_bar.gui_script | 66 - .../examples/general/scroll/scroll.collection | 37 - example/examples/general/scroll/scroll.gui | 2236 ----------- .../examples/general/scroll/scroll.gui_script | 90 - .../general/sliders/sliders.collection | 37 - example/examples/general/sliders/sliders.gui | 1215 ------ .../general/sliders/sliders.gui_script | 41 - .../examples/general/swipe/swipe.collection | 37 - example/examples/general/swipe/swipe.gui | 327 -- .../examples/general/swipe/swipe.gui_script | 37 - .../grid_animations.collection | 37 - .../grid/grid_animations/grid_animations.gui | 626 --- .../grid_animations.gui_script | 65 - .../grid/static_grid/static_grid.collection | 37 - .../examples/grid/static_grid/static_grid.gui | 628 --- .../grid/static_grid/static_grid.gui_script | 87 - .../static_grid_dynamic_pos.collection | 37 - .../static_grid_dynamic_pos.gui | 628 --- .../static_grid_dynamic_pos.gui_script | 87 - .../layout/layout_fit/layout_fit.collection | 37 - .../examples/layout/layout_fit/layout_fit.gui | 1355 ------- .../layout/layout_fit/layout_fit.gui_script | 44 - .../prefab_example_rich_text.gui | 72 - .../rich_text_texts.collection | 39 - .../rich_text_texts/rich_text_texts.gui | 56 - .../rich_text_texts.gui_script | 47 - .../system/inner_templates/inner_button.gui | 190 - .../system/inner_templates/inner_button.lua | 25 - .../system/inner_templates/inner_panel.gui | 762 ---- .../system/inner_templates/inner_panel.lua | 39 - .../inner_templates.collection | 37 - .../inner_templates/inner_templates.gui | 1011 ----- .../inner_templates.gui_script | 38 - .../late_init_check.collection | 39 - .../late_init_check/late_init_check.gui | 374 -- .../late_init_check.gui_script | 46 - .../message_input/message_input.collection | 37 - .../system/message_input/message_input.gui | 1335 ------- .../message_input/message_input.gui_script | 76 - .../whitelist_blacklist.collection | 37 - .../whitelist_blacklist.gui | 1864 --------- .../whitelist_blacklist.gui_script | 66 - example/examples/template/template.collection | 37 - example/examples/template/template.gui | 141 - example/examples/template/template.gui_script | 26 - .../texts/lang_text/lang_text.collection | 39 - .../examples/texts/lang_text/lang_text.gui | 514 --- .../texts/lang_text/lang_text.gui_script | 50 - .../texts_adjust/texts_adjust.collection | 37 - .../texts/texts_adjust/texts_adjust.gui | 1109 ------ .../texts_adjust/texts_adjust.gui_script | 59 - .../texts_general/texts_general.collection | 37 - .../texts/texts_general/texts_general.gui | 1070 ----- .../texts_general/texts_general.gui_script | 73 - example/game.appmanifest | 76 - example/init.script | 21 - example/lang.lua | 78 - example/light_theme.css | 85 - example/templates/button.gui | 141 - example/templates/checkbox.gui | 126 - example/templates/radio.gui | 126 - game.project | 6 +- 157 files changed, 3 insertions(+), 42781 deletions(-) delete mode 100644 example/assets/fonts/Exo2-LightItalic.ttf delete mode 100644 example/assets/fonts/Exo2-Regular.ttf delete mode 100755 example/assets/fonts/exo2.ttf delete mode 100644 example/assets/fonts/game.font delete mode 100644 example/assets/fonts/game_thin.font delete mode 100644 example/assets/fonts/game_thin_italic.font delete mode 100755 example/assets/images/back/back_blue.png delete mode 100755 example/assets/images/back/back_gray.png delete mode 100755 example/assets/images/back/back_green.png delete mode 100755 example/assets/images/back/back_red.png delete mode 100755 example/assets/images/buttons/button_blue.png delete mode 100755 example/assets/images/buttons/button_green.png delete mode 100755 example/assets/images/buttons/button_red.png delete mode 100755 example/assets/images/buttons/button_yellow.png delete mode 100755 example/assets/images/empty.png delete mode 100644 example/assets/images/kenney.atlas delete mode 100644 example/assets/images/logo.png delete mode 100755 example/assets/images/progress/progress_back.png delete mode 100755 example/assets/images/progress/progress_fill_green.png delete mode 100755 example/assets/images/progress/progress_fill_red.png delete mode 100755 example/assets/images/progress/progress_fill_yellow.png delete mode 100755 example/assets/images/radio/check_back_circle.png delete mode 100755 example/assets/images/radio/check_back_square.png delete mode 100755 example/assets/images/radio/checkmark.png delete mode 100755 example/assets/images/radio/tick.png delete mode 100755 example/assets/images/slider/slider_back.png delete mode 100755 example/assets/images/slider/slider_move.png delete mode 100755 example/assets/sounds/click.ogg delete mode 100644 example/custom.display_profiles delete mode 100644 example/custom.texture_profiles delete mode 100644 example/engine_template.html delete mode 100644 example/example.collection delete mode 100644 example/example.gui delete mode 100644 example/example.gui_script delete mode 100644 example/examples/custom/rich_input/rich_input.collection delete mode 100644 example/examples/custom/rich_input/rich_input.gui delete mode 100644 example/examples/custom/rich_input/rich_input.gui_script delete mode 100644 example/examples/custom/rich_text/rich_text.collection delete mode 100644 example/examples/custom/rich_text/rich_text.gui delete mode 100644 example/examples/custom/rich_text/rich_text.gui_script delete mode 100644 example/examples/data_list/add_remove_nodes/add_remove_nodes.collection delete mode 100644 example/examples/data_list/add_remove_nodes/add_remove_nodes.gui delete mode 100644 example/examples/data_list/add_remove_nodes/add_remove_nodes.gui_script delete mode 100644 example/examples/data_list/dynamic_grid/dynamic_grid.collection delete mode 100644 example/examples/data_list/dynamic_grid/dynamic_grid.gui delete mode 100644 example/examples/data_list/dynamic_grid/dynamic_grid.gui_script delete mode 100644 example/examples/data_list/manage_data/manage_data.collection delete mode 100644 example/examples/data_list/manage_data/manage_data.gui delete mode 100644 example/examples/data_list/manage_data/manage_data.gui_script delete mode 100644 example/examples/data_list/navigate/navigate.collection delete mode 100644 example/examples/data_list/navigate/navigate.gui delete mode 100644 example/examples/data_list/navigate/navigate.gui_script delete mode 100644 example/examples/data_list/reinit_data/reinit_data.collection delete mode 100644 example/examples/data_list/reinit_data/reinit_data.gui delete mode 100644 example/examples/data_list/reinit_data/reinit_data.gui_script delete mode 100644 example/examples/data_list/static_grid/static_grid.collection delete mode 100644 example/examples/data_list/static_grid/static_grid.gui delete mode 100644 example/examples/data_list/static_grid/static_grid.gui_script delete mode 100644 example/examples/data_list/with_component/button_component/button_component.gui delete mode 100644 example/examples/data_list/with_component/button_component/button_component.lua delete mode 100644 example/examples/data_list/with_component/with_component.collection delete mode 100644 example/examples/data_list/with_component/with_component.gui delete mode 100644 example/examples/data_list/with_component/with_component.gui_script delete mode 100644 example/examples/general/buttons/buttons.collection delete mode 100644 example/examples/general/buttons/buttons.gui delete mode 100644 example/examples/general/buttons/buttons.gui_script delete mode 100644 example/examples/general/checkboxes/checkboxes.collection delete mode 100644 example/examples/general/checkboxes/checkboxes.gui delete mode 100644 example/examples/general/checkboxes/checkboxes.gui_script delete mode 100644 example/examples/general/data_list/data_list.collection delete mode 100644 example/examples/general/data_list/data_list.gui delete mode 100644 example/examples/general/data_list/data_list.gui_script delete mode 100644 example/examples/general/drag/drag.collection delete mode 100644 example/examples/general/drag/drag.gui delete mode 100644 example/examples/general/drag/drag.gui_script delete mode 100644 example/examples/general/grid/grid.collection delete mode 100644 example/examples/general/grid/grid.gui delete mode 100644 example/examples/general/grid/grid.gui_script delete mode 100644 example/examples/general/hotkey/hotkey.collection delete mode 100644 example/examples/general/hotkey/hotkey.gui delete mode 100644 example/examples/general/hotkey/hotkey.gui_script delete mode 100644 example/examples/general/hover/hover.collection delete mode 100644 example/examples/general/hover/hover.gui delete mode 100644 example/examples/general/hover/hover.gui_script delete mode 100644 example/examples/general/input/input.collection delete mode 100644 example/examples/general/input/input.gui delete mode 100644 example/examples/general/input/input.gui_script delete mode 100644 example/examples/general/layout/layout.collection delete mode 100644 example/examples/general/layout/layout.gui delete mode 100644 example/examples/general/layout/layout.gui_script delete mode 100644 example/examples/general/overview/overview.collection delete mode 100644 example/examples/general/overview/overview.gui delete mode 100644 example/examples/general/overview/overview.gui_script delete mode 100644 example/examples/general/progress_bar/progress_bar.collection delete mode 100644 example/examples/general/progress_bar/progress_bar.gui delete mode 100644 example/examples/general/progress_bar/progress_bar.gui_script delete mode 100644 example/examples/general/scroll/scroll.collection delete mode 100644 example/examples/general/scroll/scroll.gui delete mode 100644 example/examples/general/scroll/scroll.gui_script delete mode 100644 example/examples/general/sliders/sliders.collection delete mode 100644 example/examples/general/sliders/sliders.gui delete mode 100644 example/examples/general/sliders/sliders.gui_script delete mode 100644 example/examples/general/swipe/swipe.collection delete mode 100644 example/examples/general/swipe/swipe.gui delete mode 100644 example/examples/general/swipe/swipe.gui_script delete mode 100644 example/examples/grid/grid_animations/grid_animations.collection delete mode 100644 example/examples/grid/grid_animations/grid_animations.gui delete mode 100644 example/examples/grid/grid_animations/grid_animations.gui_script delete mode 100644 example/examples/grid/static_grid/static_grid.collection delete mode 100644 example/examples/grid/static_grid/static_grid.gui delete mode 100644 example/examples/grid/static_grid/static_grid.gui_script delete mode 100644 example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.collection delete mode 100644 example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui delete mode 100644 example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script delete mode 100644 example/examples/layout/layout_fit/layout_fit.collection delete mode 100644 example/examples/layout/layout_fit/layout_fit.gui delete mode 100644 example/examples/layout/layout_fit/layout_fit.gui_script delete mode 100644 example/examples/rich_text/rich_text_texts/prefab_example_rich_text.gui delete mode 100644 example/examples/rich_text/rich_text_texts/rich_text_texts.collection delete mode 100644 example/examples/rich_text/rich_text_texts/rich_text_texts.gui delete mode 100644 example/examples/rich_text/rich_text_texts/rich_text_texts.gui_script delete mode 100644 example/examples/system/inner_templates/inner_button.gui delete mode 100644 example/examples/system/inner_templates/inner_button.lua delete mode 100644 example/examples/system/inner_templates/inner_panel.gui delete mode 100644 example/examples/system/inner_templates/inner_panel.lua delete mode 100644 example/examples/system/inner_templates/inner_templates.collection delete mode 100644 example/examples/system/inner_templates/inner_templates.gui delete mode 100644 example/examples/system/inner_templates/inner_templates.gui_script delete mode 100644 example/examples/system/late_init_check/late_init_check.collection delete mode 100644 example/examples/system/late_init_check/late_init_check.gui delete mode 100644 example/examples/system/late_init_check/late_init_check.gui_script delete mode 100644 example/examples/system/message_input/message_input.collection delete mode 100644 example/examples/system/message_input/message_input.gui delete mode 100644 example/examples/system/message_input/message_input.gui_script delete mode 100644 example/examples/system/whitelist_blacklist/whitelist_blacklist.collection delete mode 100644 example/examples/system/whitelist_blacklist/whitelist_blacklist.gui delete mode 100644 example/examples/system/whitelist_blacklist/whitelist_blacklist.gui_script delete mode 100644 example/examples/template/template.collection delete mode 100644 example/examples/template/template.gui delete mode 100644 example/examples/template/template.gui_script delete mode 100644 example/examples/texts/lang_text/lang_text.collection delete mode 100644 example/examples/texts/lang_text/lang_text.gui delete mode 100644 example/examples/texts/lang_text/lang_text.gui_script delete mode 100644 example/examples/texts/texts_adjust/texts_adjust.collection delete mode 100644 example/examples/texts/texts_adjust/texts_adjust.gui delete mode 100644 example/examples/texts/texts_adjust/texts_adjust.gui_script delete mode 100644 example/examples/texts/texts_general/texts_general.collection delete mode 100644 example/examples/texts/texts_general/texts_general.gui delete mode 100644 example/examples/texts/texts_general/texts_general.gui_script delete mode 100644 example/game.appmanifest delete mode 100644 example/init.script delete mode 100644 example/lang.lua delete mode 100644 example/light_theme.css delete mode 100644 example/templates/button.gui delete mode 100644 example/templates/checkbox.gui delete mode 100644 example/templates/radio.gui diff --git a/example/assets/fonts/Exo2-LightItalic.ttf b/example/assets/fonts/Exo2-LightItalic.ttf deleted file mode 100644 index ecd1459bba0a656daec302cde1785c7b047cfc58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126472 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 diff --git a/example/assets/fonts/Exo2-Regular.ttf b/example/assets/fonts/Exo2-Regular.ttf deleted file mode 100644 index 63bc4bb005edaf09aba4dada657b63907ff88aee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126624 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

FNu8!baMkEwW!0p~^%}6I${^G< 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 diff --git a/example/assets/fonts/game.font b/example/assets/fonts/game.font deleted file mode 100644 index 461d4f6..0000000 --- a/example/assets/fonts/game.font +++ /dev/null @@ -1,17 +0,0 @@ -font: "/example/assets/fonts/exo2.ttf" -material: "/builtins/fonts/font-df.material" -size: 40 -antialias: 1 -alpha: 1.0 -outline_alpha: 1.0 -outline_width: 2.0 -shadow_alpha: 1.0 -shadow_blur: 0 -shadow_x: 3.0 -shadow_y: -4.0 -extra_characters: "\342\204\226%;" -output_format: TYPE_DISTANCE_FIELD -all_chars: true -cache_width: 0 -cache_height: 0 -render_mode: MODE_MULTI_LAYER diff --git a/example/assets/fonts/game_thin.font b/example/assets/fonts/game_thin.font deleted file mode 100644 index dfd0834..0000000 --- a/example/assets/fonts/game_thin.font +++ /dev/null @@ -1,17 +0,0 @@ -font: "/example/assets/fonts/Exo2-Regular.ttf" -material: "/builtins/fonts/font-df.material" -size: 40 -antialias: 1 -alpha: 1.0 -outline_alpha: 0.0 -outline_width: 0.0 -shadow_alpha: 0.0 -shadow_blur: 0 -shadow_x: 0.0 -shadow_y: 0.0 -extra_characters: "" -output_format: TYPE_DISTANCE_FIELD -all_chars: false -cache_width: 0 -cache_height: 0 -render_mode: MODE_MULTI_LAYER diff --git a/example/assets/fonts/game_thin_italic.font b/example/assets/fonts/game_thin_italic.font deleted file mode 100644 index 986ff68..0000000 --- a/example/assets/fonts/game_thin_italic.font +++ /dev/null @@ -1,17 +0,0 @@ -font: "/example/assets/fonts/Exo2-LightItalic.ttf" -material: "/builtins/fonts/font-df.material" -size: 40 -antialias: 1 -alpha: 1.0 -outline_alpha: 0.0 -outline_width: 0.0 -shadow_alpha: 0.0 -shadow_blur: 0 -shadow_x: 0.0 -shadow_y: 0.0 -extra_characters: "" -output_format: TYPE_DISTANCE_FIELD -all_chars: false -cache_width: 0 -cache_height: 0 -render_mode: MODE_MULTI_LAYER diff --git a/example/assets/images/back/back_blue.png b/example/assets/images/back/back_blue.png deleted file mode 100755 index 73dcfd099a9a353f4a10e5c72b6f004a69484ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFuHiUIEGZ*dOOSB>qvmWvF9pr z2d>>?j;Lt4bKu^+>LuPzVFD_lEmxHU);Rq$-JNtJ=wL<5_MeNC1x2<`GXG%vBjMT7 zpMNES&Is?%DkKVoJ{oy`STtRbufQ{K+O~zh7=PeO+XXeM;)m5uzbx(eM@X9{EJrCISPf4{j zpPn6kJNQGB^q)zoH?K#mS<_hhx4R+!l1Zs+phdSn*8$$T&c{DwUFSXb`_F%$*$=Ez z;uunK>+MzBzFP?*ZGrC- zrcF>iGig&xq*K&&v10*Ci`u8CZfKdf;>C(PM#oI1={)%nRU>%0M?}-&?9NNZ_6}d= z7$d(Gy#D&@ciQHkp`lmpZsl!X{I53i{*7Har?=ajkC&6(v`8avx%ix(ulF15!d741 zE~#AdsIg+vy4N2IEP8w|pV|35=9c-kzO(N&-W#9za=gFg;`hB<#rEB>S$HJeZJOOG zzvY+zG$l$Ld;Qg_EY^J9`E=WbH_XiX);>=9ZP4+4icW3c((K#UGPp&fmwWTgcgWj5 zd!g7n?+F&ljEqby9SsbE0t!q_E)ES0j7ka)EKm`L1`ZAZMu-RpQ~_9oEG^ zy~6J`z|i`!eBJAf?|)y^t=?FfBhQvN@oD8hqmy$UHQvoLH}g$i+NuW(rOU@dBT@=o z1NR(be)-$wv{~+dIkuaR@7~w6Kd8ekC?8yZPxA6#wjU=I{leW!R|8{Ox5PD~Bsf2< zq&%@Gl_9B8FDWNKKP9D7FS)3)pd?=}GdD3kRS%d}j7(hflJiqii&n7JzXNJy@O1Ta JS?83{1OU}w?F|3` diff --git a/example/assets/images/back/back_green.png b/example/assets/images/back/back_green.png deleted file mode 100755 index 8ec8548257fd83bae5e6556e0e2962713ab54f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFuHlVIEGZ*dOK^a-w_9q*7vhN zGH{6WE%D!wCCk=%K*4bKEZ^H#5>{nhn{wsAIluZZTug0CYz|!r{x)fnLxgMEB;%8w z@AjJBpFVq)5#7MrIT zrv5B>6+4A@&gQo+mrCb4ZoU;;&G|3-0C(O8?ylVL5>p!7wkt-Rv7a@a-JGYnobmcn zOMAaV?u=(I&R)Qxs^Q4#70@I!1v~Rce&_Y=>H4e(zAkPtOw(GoP2BPB^+xeK52o*0 zw>&L3zj+da{*HtCu7NdcRi|Vp?EU9@K)-U{?p3Q|I`p{?@YZ=={vzudInD1s|9xh^ z4^7g4CZ*oAofW`b=P{>MXQIl<=h?FZRrpG{KW=~Sv^da&?|b8c_Xk(Mk)QqU+eNWR zpKf5l>Xx`hlmzFem6RtIr7|Q{>Lumm=clAp>LnLd7L?@cW#%TPr|JQt#>m7qFF8LY VwP*!f{X3vW22WQ%mvv4FO#ru7*LYr1&e zfm^yaZtiONvVO~jr~<*Vmy;$OQ)^wak&}g+_vhxz9G@PDN=+{~+u7$5P;>P$-yClC zG_|we4VUZ+fAZSIxA?}k+=%O6c`tq6`&suCo8O01pAuduf2n8uu46Eh)vBiF+}+bh zFU~oeb$+*ow1xO>&LyvRah)yL`AO){`Udek55z_Izi(g0VzP_(V$#o#U*Fy8ef%Q! zz*ftf_x%pJGoHORdjX58h9jp}K$FlE?93ZmkKF!s)0?s2uU25_)tEKs`F!qPZv+}W zeUr}fXPP#qs*G_3&GDObe#doB%}&_+&-H+Q=B!5^$Xn+*=?Pcw)dqQ?Tp$lYK+@O?!sw(>wIq z@6_u6gI2f1HKHUqKdq!Zu_%=xsZuW~CqF+WrBW}ssIs6WUoSH^F+Eie7&%5Ju6fD% XDXB#(*y`T_H8Oa*`njxgN@xNABP+qD diff --git a/example/assets/images/buttons/button_blue.png b/example/assets/images/buttons/button_blue.png deleted file mode 100755 index 5ec356abdb80c8e4f9d6982e17c2b36363e60814..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFy?u>IEGZ*dV9;(i`h})*vIc2 zjFUZ+5|y*G9FN>mu4uWkD=RfoHS>&;N5NLn#R?pCOF7m#cFQ>G=&W%G5Ych5Ibd=A zNMuMy)VTwjKOB0q?B`#}ptBt{c0a4E);{{2W@z_1=~TAt+uIh>b3UB9&Msf;^53-J zc7v1c+Fkw1*4L~4JUMvo%F*5Bk8=vFjQ<4nUDnVdjV$H9o-|Sz! z+`sC_i$H$aJJsd|2cNIWGe4sHp>WgZXR806AGm4GBL5a zpQK6ey=~T-u~;&R;m-Ya+`KNHp{^%m1sIQUuHRhGAYLW5OZ;eEJ}?4wOI#yLg7ec# z$`gxH8ImgXl5+C%Q&KARl8Y(}O7itGa}(23^?*@mWa65aoS%|fw1Tbv9Z(~Kr>mdK II;Vst0E(^9rvLx| diff --git a/example/assets/images/buttons/button_green.png b/example/assets/images/buttons/button_green.png deleted file mode 100755 index 1da6a098e69127a23e17fc1ff8aa851d7912e8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 474 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFlKnVIEGZ*dOPc&my@GN+xgof zMaoTF>sf?mIx2d#2u|C6PeDLQX>qo|+NiDjFPH@_VlNP7Q53qd%=Igq?V%_3WlNY= zKjrzuY(K|%^G`dz&9el5#z>zvh|W!&wDxt0bZ4H?v8@`?76-NC#m!<{{%Jqh#x(U= z&XU=?%TF)6r+s_Q-dt<(ROaPI&HL?JH*}}HU-&}h$BKq>gWe6=8fAIU+uGUphHm~J zVYKyJS23gbk13(c6{8Y9e_8rU<}4)WGT?w_;K_wBw1S6^#_xSDhP`Hnw2ZM?zmztV&0OD7+g zGCA|{<9?=s=6JEk4`f|mCY^fmx4`xRi~f#-`a9h&I6cljpucnR#zp6aK7Z{zm_PeZ zq1MMhhCBE7aqAv=9BAjaw~F!pbC&g+>KVR?t5u|0eozJmy>5wXL`iUdT1k0gQ7S`H zrCw4_ett?yrCxGTWkE^4US@7$da52U@{CMe^OEyZQj1ow)xQI3WbkzLb6Mw<&;$Sw CXUqNo diff --git a/example/assets/images/buttons/button_red.png b/example/assets/images/buttons/button_red.png deleted file mode 100755 index 7263038f44aabaa2d43b06114e99893c461ed46a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 480 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFy?u>IEGZ*dOK^c7qg>C>wD%I zZ~UZkMR<}D6CZN_V320rcwvLruLzcUE^fz~NhP~(ahOeG)D{+Q97|$5ccAfS=DvRG;Jbo9W%mBM@yItSv;6Xo<~zAzYw`ol3Yxw)r*{K{MN3WXks@BQC=_vXa6 z=eE>l`rdl}Y)3g`_`dMcIr;3Lk6KT>-D`2&iI+WEIF2jh!16U!OI_5f9&B!C6PmJs zMODL*(<`6}2lKyT;an+mM}8jm7o9(KK5R~BuiF_V?`gAbm1C*@LGHW{r;m1No@&~b zi37gHwf=}z_veS>kFCg0OmSNKd;^i zst4ZNtxWOUDVrkNcIW;+?zz`awMPnlJ>1a$>p|!@{_q5|==n26UjZXPx5PD~Bsf2< zq&%@Gl_9B8FDWNKKP9D7FS)3)pd?=}GdD3kRSy`2MkcO#$@wX%MJw3q-vKo;c)I$z JtaD0e0swMb&0+um diff --git a/example/assets/images/buttons/button_yellow.png b/example/assets/images/buttons/button_yellow.png deleted file mode 100755 index e00e7e3e7f53f821720bbcd24cbb30a84a55aa19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILa_EFa~+LIEGZ*dOK^cACsd zzTfAzROQ`ciyc7ee|P-OoKH7-mSU*E#<@@TiK_X}gGrZcBjjhuSec)*{ND7zN$*qY zntx^wx>Fwi)$sYTU-5Yu=dq?E=Vni6QBhIk^z?8NnuLRSXWJ#VZ*Sw<{=Arb@T>mYziJ65eCu46M{L@$ z-{byt){3G@)9*ZS4>_)@9_CzkC!{bbYSFB}+g@I~utCG&UGICRK;Eepg=s8xZgJ=T z@m3TRR=#A2dI=0<-4fS`lHmNblJdl&REDHVy`-G{{FIbRz2u_Gf|7i_%-qEER6Src d8JW1|CFiH47Oh~be+Sga;OXk;vd$@?2>@K%!|4D3 diff --git a/example/assets/images/empty.png b/example/assets/images/empty.png deleted file mode 100755 index 5da9ec0922e6066d3284b286ec892cc4f6745636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14525 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 A<^TWy diff --git a/example/assets/images/progress/progress_fill_green.png b/example/assets/images/progress/progress_fill_green.png deleted file mode 100755 index 195fa3b5c826478d705a92cf713f4311ed5a01c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^`+!)NgAGUuv|TJx3ba4!+xb^m~trxSSM8iYd zsXrYzgu4ies;FHQ)?jftV$$?T*QPP@2y+BylZU{f)&(EgUr#UsGNFnT|E8=hkOhFA@+yO9~^%u z)CkyNa36BZLlIUbKMsG0uKcTPrmo-n=^d*)di&y!iXYLX7IO=4?~FE+ z><{Wb*1hn2rK-N#tmV(|pYT8R;>%V`*{_nzgwOe!J-_d3=AUi7{>{;P`RUG<&FlHP zJD*Md%6YnBVo3%=|5H%tm$*ih1m~xflqVLYG9*>%CFSJjr=(QsB^Ol|l;rDW<|d}6 g>H%ZU$iy`-IX@+}Xa!sSJD^4ePgg&ebxsLQ0B6L|WB>pF diff --git a/example/assets/images/progress/progress_fill_red.png b/example/assets/images/progress/progress_fill_red.png deleted file mode 100755 index 32f5f4c823ad80b6ed6af7573f68e6963fa760f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmeAS@N?(olHy`uVBq!ia0vp^`+!)NgAGUuv|TJ^+{O!!M4H+?Cy8jr(BooDZhm`xGV1HS`LVfAAOD!-cQm8?;DHrWGpxSOjVs^uMbXwk zIj;}3-z0Xq(K?n7>QD8f+kaQz|w)eTAZ0X7}Aj%==T_sDFm zdwW3Zu)lTQ`)c3WA6IP6*c0_n?Do9NnjNJbY%X{A%v~40+HSS&cC*=^_04B5&%QA8 zHE;Kya|J6F|IoL7^CW%ccmCvuO|Q3F_-lh=p~N+!Bsf2PCYmvgxm_mj4yo=?@f6XCZCDWTOtG?ILFfUe4MJ;Jx>u*qkEzk+hs`Hd zu0BjRy6d^p_Hp7X-?o=2C9~EYej9me!%MI87t2iM)y>5&DiyJx6Rk!of-Rfyq6X!?b=q)YcC;W`s;J2eoYJiA@+yO9~^%u)Ckyd$fI-n zKeU1oF9&u-KlXoEe)x-!c>d{o*Qa;)DF#kY-JWSJl^6YO1-3<{QQ)ZO1n>pYtyH-)1YEgO<<4Mm z;;mNe6PL&hObEo|0o`s_4F&_{x~`f|r-?ouk5#|lSGH|yU|_CRt35vq1pn;+$cR6P z17@?C%3_DZK}{x;2ryjGdQc|;E4^MX0_1wVs^jsfw%e^*tybTBy) z&Nk9TGX+NK2yzLtt^5z@?*WQu8LFo#K&R8`dzP`oW3n?*rKPjcqM_@~k5rR=45&?j zK_ue+OwZ2v1LhN&iCV-OB*qY1HdjZ6t?2e4+XllG=tpcAB@SnD{w-R}f}K&)EbYi9 zTU6I)s>|6r!cKhk!AG2n(ERcQh50-_EvBwS%s9+O6djnt*qN7zVaRCC(?9P2KukT6 zDS&#kKH)Ol%>YU;uWD@o{xmI&YgoragKyWQ$(PSYbV>kc; zP4f5}&1@o=ho5Os4!8h-Eeui;*gX#oWQ79$^_x++vwg@nALt9Lp+qD(bs~VciK%V+ z(F%;@4&>I`Q3$S_Z)9b1s0M%T00000NkvXXu0mjf12}Fm diff --git a/example/assets/images/radio/check_back_square.png b/example/assets/images/radio/check_back_square.png deleted file mode 100755 index f17bb8f1c3b230bb63fa035a524b48d66b946ecc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 535 zcmV+y0_gpTP)b;@5Ji2193e-@QF4SFAxB6{hh!Nrl`A?+Y2CS^L!zZ~<;s$684yUewees1ubkkJ zM3{w0JJJ+*SMwjcv&DSN>IvJnpJub!TazJkKA($Av#FD@p6j~rlgZ@Oahyl%r@*G6 zApQvKjYgvf>&z)-+#H6Xh@wcuaV&F)I3ACx-e$8AK@fD|qTbVM7S`C{`@SfOLgpEK~Ikhl8l=T591pw7~!t1%^h% z$JJ`3pipE8m~)xuxzs{H8w_CSUZdJ<;zuIY(R!CC?}s z)?n;4_L+K}cX?t4%zzm%17^Ssm;p0j2F!r{e=v+yx}c!NDg6YDQ#h>vj8wYEH)yxx zTi6Bj@Nv0ZY8`l?!3haoNeedax;)Rc2sreXWjUBN(3hwU4O#@eMwmNaO_h+Q3jGTm z0WD~r*aLkw6iyB{(KP{48yXyP(dXZKWLUV7aW}Sp6X-b{YuCuT0!##;lb&kh1Jp*k zLKL&8p8x;=Ep$a#bW?9;ba!ELWdLG%E@EtNZ)9Y7E@N_eaCC1jX>DO=WiC)oM=~@; ZZewp`Wpbznf9?PP002ovPDHLkV1oWj>|+1` diff --git a/example/assets/images/radio/checkmark.png b/example/assets/images/radio/checkmark.png deleted file mode 100755 index 3ad298eb9edd4736467b46deca80533553925983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 366 zcmV-!0g?WRP)20002|NklTgDT#unK_mr!B;c3tN=n(+oBZnhamjZ(Y zB?v&Ag3})Ju_*x2*uoLr>nIKZ#U3_SfGmN8Bf>IV7?i}2!pU<#KE=cs2#P$C10S!q zfsVo&tDqPo%Rpd+;!K<1hyW@e$w2go!3ID{i8OB$naF{WQcsM57!gBGz9uSS@Bw@| z2XDj>;o5v`hEiO1q9-$wOCOxc3>plu>`D~?F0p_SN2)#mB<}3~V;LW)0000jbVXQn zQ*UN;cVTj60AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J) M07*qoM6N<$f|??c=Kufz diff --git a/example/assets/images/radio/tick.png b/example/assets/images/radio/tick.png deleted file mode 100755 index f0c945d3c71e288e259a904740c04f7f40f5eb16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2e8&7LlfAr-fh6AmzL>bE-id|uI3 z_hURqn)Y0N_pf!i?R)Y0U;p*uDzNS_QGR^L_}=?szg;hrB?2lg zDbJH&e!w>OlTH64r3vC5h730qTC_j3Fgi9j*d;Lh?2Tb|*zsb^^QwS^Yr#nz9Q;bo zCwe8PNHD49d+{);222XlGUF*?vDw@>$>`;}4{zK(zb*LUF!Z!aBj<5dfu4h0U47w$*5hcO-X(i=}MX3x)m3m1z x`S~d+m3qlVl?5gFdYQS2>8W}^yNyg-^OEyZQj1ow)xQJj^mO%eS?83{1OPx5Fy82_iaK76ZA-rZ2gZ>Pu2V&KUaHMF>^E@&_|xHAvl2r%d`mtLq9 zP;Ub{{cK0|%znrmeUCmF@O;O`rCpQqTud=dI1yij6XyXEk5lz+b!qvRq>)T@Pxx2U z!RU&>gZ=k51x#L6T1D^NM@b_jAn9vWf#@4};KcO0IR(Br{QP?%U~Hz4db}HQ2&=D= zsvDFozJS~p3C0FR_E9j2dO~NlQ-xE2;xYgs&Mtftk(+j)D>~BE$qvgKC0!O6>WLyp ze={s$)JV?>JFp9O;w+)#bHs$~1k-kz7cJzp9z`v&i<`8W8DohVoz?{)1ls_`-7yth z@i-z_>Ok%a5VB!N(8F4)jdYPdS72-%K`!Bp8$SZ{{{f0u89a?EKvn-|LY0LR9?s51 zm$rk076V--zwyl090O_>V33KXc_!Xj{{j9)rm%xv#2!Q&60x<^5z|)o_^`(Y(`ED{ zfV7pQIpc$6iko64JFv}79*rz<$d)zrS?ad8j<6G7eee){5r$uppy1ErZZUNwV#UE5 zaoB<>*v_IvY~-LTTKx23`#%s}&_Vn*n`+HMEGN5S{$JifJU4w(CnPFj72_7I#Mg7hdf(#i5r7DW5-9YjWDh zG7v)m001p?MObuGZ)S9NVRB^vVtFoNY;SL5WO*)Qa(QrcZ!T$VVP|D7P) XZ)9b1s0M%T00000NkvXXu0mjfT`89A diff --git a/example/assets/sounds/click.ogg b/example/assets/sounds/click.ogg deleted file mode 100755 index 4f17f1cdd3f3554546329fb2d84f330e7c17263b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6952 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 diff --git a/example/custom.display_profiles b/example/custom.display_profiles deleted file mode 100644 index 921fa6a..0000000 --- a/example/custom.display_profiles +++ /dev/null @@ -1,14 +0,0 @@ -profiles { - name: "Landscape" - qualifiers { - width: 900 - height: 600 - } -} -profiles { - name: "Portrait" - qualifiers { - width: 600 - height: 900 - } -} diff --git a/example/custom.texture_profiles b/example/custom.texture_profiles deleted file mode 100644 index 5b0d776..0000000 --- a/example/custom.texture_profiles +++ /dev/null @@ -1,18 +0,0 @@ -path_settings { - path: "**" - profile: "Default" -} -profiles { - name: "Default" - platforms { - os: OS_ID_GENERIC - formats { - format: TEXTURE_FORMAT_RGBA - compression_level: BEST - compression_type: COMPRESSION_TYPE_DEFAULT - } - mipmaps: false - max_texture_size: 0 - premultiply_alpha: true - } -} diff --git a/example/engine_template.html b/example/engine_template.html deleted file mode 100644 index c381928..0000000 --- a/example/engine_template.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - - - - - - {{project.title}} {{project.version}} - - - - -

-
- -
-
-{{#html5.show_fullscreen_button}} -
Fullscreen
-{{/html5.show_fullscreen_button}} -{{#html5.show_made_with_defold}} - -{{/html5.show_made_with_defold}} -
-
- - - - - - - - diff --git a/example/example.collection b/example/example.collection deleted file mode 100644 index 4651339..0000000 --- a/example/example.collection +++ /dev/null @@ -1,903 +0,0 @@ -name: "example" -scale_along_z: 0 -embedded_instances { - id: "gui" - data: "components {\n" - " id: \"main\"\n" - " component: \"/example/example.gui\"\n" - "}\n" - "" -} -embedded_instances { - id: "system" - data: "components {\n" - " id: \"init\"\n" - " component: \"/example/init.script\"\n" - "}\n" - "" -} -embedded_instances { - id: "sound" - data: "embedded_components {\n" - " id: \"click\"\n" - " type: \"sound\"\n" - " data: \"sound: \\\"/example/assets/sounds/click.ogg\\\"\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_overview" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_overview\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/overview/overview.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_buttons" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_buttons\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/buttons/buttons.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "texts_general" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"texts_general\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/texts/texts_general/texts_general.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_sliders" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_sliders\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/sliders/sliders.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_grid" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_grid\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/grid/grid.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_input" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_input\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/input/input.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_scroll" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_scroll\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/scroll/scroll.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_data_list" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_data_list\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/data_list/data_list.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_static_grid" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_static_grid\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/static_grid/static_grid.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_dynamic_grid" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_dynamic_grid\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/dynamic_grid/dynamic_grid.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_navigate" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_navigate\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/navigate/navigate.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_add_remove_nodes" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_add_remove_nodes\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/add_remove_nodes/add_remove_nodes.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "grid_static_grid" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"grid_static_grid\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/grid/static_grid/static_grid.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "grid_animations" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"grid_animations\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/grid/grid_animations/grid_animations.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "grid_static_grid_dynamic_pos" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"grid_static_grid_dynamic_pos\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "system_whitelist_blacklist" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"system_whitelist_blacklist\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/system/whitelist_blacklist/whitelist_blacklist.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "texts_adjust" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"texts_adjust\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/texts/texts_adjust/texts_adjust.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "system_message_input" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"system_message_input\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/system/message_input/message_input.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "custom_rich_input" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"custom_rich_input\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/custom/rich_input/rich_input.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "system_inner_templates" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"system_inner_templates\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/system/inner_templates/inner_templates.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_swipe" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_swipe\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/swipe/swipe.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_drag" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_drag\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/drag/drag.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_checkboxes" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_checkboxes\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/checkboxes/checkboxes.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_reinit_data" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_reinit_data\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/reinit_data/reinit_data.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_layout" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_layout\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/layout/layout.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_hotkey" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_hotkey\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/hotkey/hotkey.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_with_component" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_with_component\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/with_component/with_component.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "layout_fit" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"layout_fit\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/layout/layout_fit/layout_fit.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_progress_bar" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_progress_bar\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/progress_bar/progress_bar.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "system_late_init_check" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"system_late_init_check\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/system/late_init_check/late_init_check.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "general_hover" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"general_hover\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/general/hover/hover.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "texts_lang_text" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"texts_lang_text\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/texts/lang_text/lang_text.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "custom_rich_text" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"custom_rich_text\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/custom/rich_text/rich_text.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "data_list_manage_data" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"data_list_manage_data\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/data_list/manage_data/manage_data.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} -embedded_instances { - id: "rich_text_texts" - data: "components {\n" - " id: \"screen_factory\"\n" - " component: \"/monarch/screen_factory.script\"\n" - " properties {\n" - " id: \"screen_id\"\n" - " value: \"rich_text_texts\"\n" - " type: PROPERTY_TYPE_HASH\n" - " }\n" - " properties {\n" - " id: \"popup\"\n" - " value: \"true\"\n" - " type: PROPERTY_TYPE_BOOLEAN\n" - " }\n" - "}\n" - "embedded_components {\n" - " id: \"collectionfactory\"\n" - " type: \"collectionfactory\"\n" - " data: \"prototype: \\\"/example/examples/rich_text/rich_text_texts/rich_text_texts.collection\\\"\\n" - "load_dynamically: true\\n" - "\"\n" - "}\n" - "" -} diff --git a/example/example.gui b/example/example.gui deleted file mode 100644 index ef72f7e..0000000 --- a/example/example.gui +++ /dev/null @@ -1,1384 +0,0 @@ -script: "/example/example.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 450.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: 900.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: "root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - 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: 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: 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: "kenney/empty" - id: "C_Anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 380.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: "kenney/empty" - id: "lobby" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "C_Anchor" - 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 - custom_type: 0 - enabled: true - visible: 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: 600.0 - y: 830.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: "lobby_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_STRETCH - parent: "lobby" - layer: "" - 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 - custom_type: 0 - enabled: true - visible: 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: 600.0 - y: 830.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: "lobby_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "lobby_view" - 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: true -} -nodes { - position { - x: 0.0 - y: -59.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: "kenney/empty" - id: "prefabs" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "lobby" - 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 - custom_type: 0 - enabled: true - visible: 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: 600.0 - y: 80.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: "prefab_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefabs" - 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: true -} -nodes { - position { - x: 0.0 - y: -13.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.9 - y: 0.9 - z: 1.0 - w: 1.0 - } - size { - x: 500.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: "Title of component" - font: "game" - id: "prefab_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: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "prefab_header" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -74.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: 460.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/empty" - id: "prefab_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefabs" - 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: 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: 400.0 - y: 55.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/button_green" - id: "icon_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefab_button" - layer: "" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.0 - w: 20.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: true -} -nodes { - position { - x: 0.0 - y: 4.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: 450.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: "Button name" - font: "game" - id: "text_button_lobby" - 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: "icon_button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 450.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: "kenney/empty" - id: "N_Anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: 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: 600.0 - y: 70.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/progress_back" - id: "panel_top" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_STRETCH - parent: "N_Anchor" - layer: "image_top" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.0 - w: 20.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: true -} -nodes { - position { - x: -240.0 - y: -35.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_menu" - parent: "panel_top" - layer: "image_top" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 80.0 - y: 50.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/button_blue" - id: "button_menu/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_menu" - layer: "image_top" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - overridden_fields: 20 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 3.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 130.0 - y: 50.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: "MENU" - font: "game" - id: "button_menu/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_menu/button" - layer: "text_top" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 1 - overridden_fields: 3 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 20 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 240.0 - y: -35.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_api" - parent: "panel_top" - layer: "image_top" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 80.0 - y: 50.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/button_blue" - id: "button_api/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_api" - layer: "image_top" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - overridden_fields: 20 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 3.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 130.0 - y: 50.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: "API" - font: "game" - id: "button_api/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_api/button" - layer: "text_top" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 1 - overridden_fields: 3 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 20 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 240.0 - y: -35.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_code" - parent: "panel_top" - layer: "image_top" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 80.0 - y: 50.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/button_blue" - id: "button_code/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_code" - layer: "image_top" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - overridden_fields: 20 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 3.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 130.0 - y: 50.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: "CODE" - font: "game" - id: "button_code/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_code/button" - layer: "text_top" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 1 - overridden_fields: 3 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 20 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -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: 1.0 - y: 1.0 - z: 1.0 - w: 1.0 - } - size { - x: 360.0 - y: 45.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: "Title" - font: "game" - id: "text_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - shadow { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "panel_top" - layer: "text_top" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 1.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -layers { - name: "image" -} -layers { - name: "text" -} -layers { - name: "image_top" -} -layers { - name: "text_top" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 1024 diff --git a/example/example.gui_script b/example/example.gui_script deleted file mode 100644 index 098b9fc..0000000 --- a/example/example.gui_script +++ /dev/null @@ -1,315 +0,0 @@ ----@type druid -local druid = require("druid.druid") -local monarch = require("monarch.monarch") -local default_style = require("druid.styles.default.style") - -local checkbox = require("druid.extended.checkbox") -local checkbox_group = require("druid.extended.checkbox_group") -local dynamic_grid = require("druid.extended.dynamic_grid") -local input = require("druid.extended.input") -local lang_text = require("druid.extended.lang_text") -local progress = require("druid.extended.progress") -local radio_group = require("druid.extended.radio_group") -local slider = require("druid.extended.slider") -local timer_component = require("druid.extended.timer") -local data_list = require("druid.extended.data_list") - -local cache_path = sys.get_save_file("druid", "cache") - - -local function save_cache(self) - sys.save(cache_path, self.cache) -end - - --- Change current browser URL to share the examples ----@param self userdata ----@param scene_name string -local function set_scene_url(self, scene_name) - if not html5 then - return - end - - local command - if scene_name then - command = string.format('window.history.replaceState(null, null, "?example=%s")', scene_name) - else - command = 'window.history.replaceState(null, null, "index.html")' - end - html5.run(command) -end - - -local function back_to_lobby(self) - if gui.set_enabled(self.button_menu.node) then - return - end - - monarch.back() - gui.set_enabled(gui.get_node("C_Anchor"), true) - gui.set_enabled(self.button_menu.node, false) - gui.set_enabled(self.button_code.node, false) - gui.set_enabled(self.button_api.node, true) - - self.text_header:set_to("Druid") - - self.cache.last_scene = nil - save_cache(self) - set_scene_url(self, nil) -end - - -local function show_scene(self, scene_name, text_header) - print("Show scene:", scene_name) - - self.current_script_url = self.scene_urls[scene_name] - monarch.show(scene_name) - gui.set_enabled(gui.get_node("C_Anchor"), false) - gui.set_enabled(self.button_menu.node, true) - gui.set_enabled(self.button_code.node, true) - gui.set_enabled(self.button_api.node, false) - - self.text_header:set_to(text_header) - - self.cache.last_scene = scene_name - save_cache(self) - set_scene_url(self, scene_name) -end - - -local function init_top_panel(self) - self.druid:new_blocker("panel_top") - - self.button_menu = self.druid:new_button("button_menu/button", back_to_lobby) - self.druid:new_back_handler(back_to_lobby) - gui.set_enabled(self.button_menu.node, false) - - self.button_api = self.druid:new_button("button_api/button", function() - sys.open_url("https://insality.github.io/druid/modules/Druid.html") - end) - - self.button_code = self.druid:new_button("button_code/button", function() - local example_url = string.format("https://github.com/Insality/druid/blob/master/example/examples%s", self.current_script_url) - sys.open_url(example_url) - end) - gui.set_enabled(self.button_code.node, false) - - self.text_header = self.druid:new_text("text_header", "Druid") -end - - -local function on_window_callback(self, event, data) - druid.on_window_callback(event, data) -end - - -local function get_title(self, text) - local prefab = gui.get_node("prefab_header") - local nodes = gui.clone_tree(prefab) - local root = nodes["prefab_header"] - gui.set_enabled(root, true) - gui.set_text(nodes["prefab_text"], text) - return root -end - - -local function get_button(self, text, scene_name, script_url) - local prefab = gui.get_node("prefab_button") - local nodes = gui.clone_tree(prefab) - local root = nodes["prefab_button"] - gui.set_enabled(root, true) - - self.scene_names[scene_name] = text - self.scene_urls[scene_name] = script_url - - self.druid:new_button(root, function() - show_scene(self, scene_name, text) - end):set_click_zone(self.lobby_scroll.view_node) - - gui.set_text(nodes["text_button_lobby"], text) - - return root -end - - -local function get_button_disabled(self, text) - local prefab = gui.get_node("prefab_button") - local nodes = gui.clone_tree(prefab) - local root = nodes["prefab_button"] - gui.play_flipbook(nodes["icon_button"], "progress_back") - gui.set_enabled(root, true) - gui.set_text(nodes["text_button_lobby"], text) - - return root -end - - -local function init_lobby(self) - gui.set_enabled(gui.get_node("prefabs"), false) - self.scene_names = {} - self.scene_urls = {} - - self.lobby_scroll = self.druid:new_scroll("lobby_view", "lobby_content") - self.lobby_grid = self.druid:new_dynamic_grid("lobby_content") - self.lobby_scroll:bind_grid(self.lobby_grid) - self.lobby_scroll.style.WHEEL_SCROLL_SPEED = 20 - - self.lobby_grid:add(get_title(self, "General examples")) - self.lobby_grid:add(get_button(self, "Overview", "general_overview", "/general/overview/overview.gui_script")) - self.lobby_grid:add(get_button(self, "Buttons", "general_buttons", "/general/buttons/buttons.gui_script")) - self.lobby_grid:add(get_button(self, "Sliders", "general_sliders", "/general/sliders/sliders.gui_script")) - self.lobby_grid:add(get_button(self, "Scrolls", "general_scroll", "/general/scroll/scroll.gui_script")) - self.lobby_grid:add(get_button(self, "Grids", "general_grid", "/general/grid/grid.gui_script")) - self.lobby_grid:add(get_button(self, "Progress Bar", "general_progress_bar", "/general/progress_bar/progress_bar.gui_script")) - self.lobby_grid:add(get_button(self, "Data List", "general_data_list", "/general/data_list/data_list.gui_script")) - self.lobby_grid:add(get_button(self, "Checkboxes", "general_checkboxes", "/general/checkboxes/checkboxes.gui_script")) - self.lobby_grid:add(get_button(self, "Input text", "general_input", "/general/input/input.gui_script")) - self.lobby_grid:add(get_button(self, "Layout", "general_layout", "/general/layout/layout.gui_script")) - self.lobby_grid:add(get_button(self, "Hover", "general_hover", "/general/hover/hover.gui_script")) - self.lobby_grid:add(get_button(self, "Swipe", "general_swipe", "/general/swipe/swipe.gui_script")) - self.lobby_grid:add(get_button(self, "Drag", "general_drag", "/general/drag/drag.gui_script")) - self.lobby_grid:add(get_button(self, "Hotkey", "general_hotkey", "/general/hotkey/hotkey.gui_script")) - - self.lobby_grid:add(get_title(self, "Texts")) - self.lobby_grid:add(get_button(self, "Texts", "texts_general", "/texts/texts_general/texts_general.gui_script")) - self.lobby_grid:add(get_button(self, "Adjust types", "texts_adjust", "/texts/texts_adjust/texts_adjust.gui_script")) - self.lobby_grid:add(get_button(self, "Lang Text", "texts_lang_text", "/texts/lang_text/lang_text.gui_script")) - - self.lobby_grid:add(get_title(self, "Scrolls")) - self.lobby_grid:add(get_button_disabled(self, "Nested scrolls", "scroll_scene")) - self.lobby_grid:add(get_button_disabled(self, "With points of interest", "scroll_scene")) - self.lobby_grid:add(get_button_disabled(self, "Without inertion", "scroll_scene")) - - self.lobby_grid:add(get_title(self, "Grids")) - self.lobby_grid:add(get_button(self, "Static grid", "grid_static_grid", "/grid/static_grid/static_grid.gui_script")) - self.lobby_grid:add(get_button(self, "Static with dynamic pos", "grid_static_grid_dynamic_pos", "/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Dynamic grid", "scroll_scene")) - self.lobby_grid:add(get_button_disabled(self, "Scroll binding", "scroll_scene")) - self.lobby_grid:add(get_button(self, "Add/Remove animations", "grid_animations", "/grid/grid_animations/grid_animations.gui_script")) - - self.lobby_grid:add(get_title(self, "Data list | Infinity scroll")) - self.lobby_grid:add(get_button(self, "With static grid", "data_list_static_grid", "/data_list/static_grid/static_grid.gui_script")) - self.lobby_grid:add(get_button(self, "With dynamic grid", "data_list_dynamic_grid", "/data_list/dynamic_grid/dynamic_grid.gui_script")) - self.lobby_grid:add(get_button(self, "Navigate over elements", "data_list_navigate", "/data_list/navigate/navigate.gui_script")) - self.lobby_grid:add(get_button(self, "Reinit data", "data_list_reinit_data", "/data_list/reinit_data/reinit_data.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Add / remove data", "data_list_manage_data", "/data_list/manage_data/manage_data.gui_script")) - self.lobby_grid:add(get_button(self, "With component", "data_list_with_component", "/data_list/with_component/with_component.gui_script")) - - self.lobby_grid:add(get_title(self, "Layouts")) - self.lobby_grid:add(get_button(self, "Layout fit", "layout_fit", "/layout/layout_fit/layout_fit.gui_script")) - - self.lobby_grid:add(get_title(self, "Custom components")) - self.lobby_grid:add(get_button(self, "Rich Input", "custom_rich_input", "/custom/rich_input/rich_input.gui_script")) - self.lobby_grid:add(get_button(self, "Pin Knob", "custom_pin_knob", "/custom/pin_knob/pin_knob.gui_script")) - self.lobby_grid:add(get_button(self, "Rich Text", "custom_rich_text", "/custom/rich_text/rich_text.gui_script")) - - self.lobby_grid:add(get_title(self, "Rich Texts")) - self.lobby_grid:add(get_button(self, "Rich Text Texts", "rich_text_texts", "/custom/rich_text_texts/rich_text_texts.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Rich Text Images"))--, "rich_text_images", "/custom/rich_text_texts/rich_text_texts.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Rich Text Tags"))--, "rich_text_images", "/custom/rich_text_texts/rich_text_texts.gui_script")) - - self.lobby_grid:add(get_title(self, "System")) - self.lobby_grid:add(get_button_disabled(self, "Styles")) - self.lobby_grid:add(get_button(self, "Whitelist / Blacklist", "system_whitelist_blacklist", "/system/whitelist_blacklist/whitelist_blacklist.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Component interests")) - self.lobby_grid:add(get_button_disabled(self, "Nested Druids")) - self.lobby_grid:add(get_button(self, "Message input", "system_message_input", "/system/message_input/message_input.gui_script")) - self.lobby_grid:add(get_button_disabled(self, "Input priority")) - self.lobby_grid:add(get_button(self, "Inner templates", "system_inner_templates", "/system/inner_templates/inner_templates.gui_script")) - self.lobby_grid:add(get_button(self, "Late init check", "system_late_init_check", "/system/late_init_check/late_init_check.gui_script")) -end - - -local function check_url(self) - if not html5 then - return - end - - local example_arg = html5.run("new URLSearchParams(window.location.search).get('example')") - if example_arg and self.scene_names[example_arg] then - print("Start example: ", example_arg) - show_scene(self, example_arg, self.scene_names[example_arg] or "unknown") - return true - end -end - - -local function check_cache(self) - local scroll_position = self.cache.scroll_position - if scroll_position then - self.lobby_scroll:scroll_to_percent(vmath.vector3(0, scroll_position, 0), true) - end - - local last_scene = self.cache.last_scene - if last_scene then - show_scene(self, last_scene, self.scene_names[last_scene] or "unknown") - return true - end -end - - -local function check_loading(self) - if check_url(self) then - return - end - - if check_cache(self) then - return - end -end - - -local function register_druid_extended_components(self) - druid.register("checkbox", checkbox) - druid.register("checkbox_group", checkbox_group) - druid.register("dynamic_grid", dynamic_grid) - druid.register("input", input) - druid.register("lang_text", lang_text) - druid.register("progress", progress) - druid.register("radio_group", radio_group) - druid.register("slider", slider) - druid.register("timer", timer_component) - druid.register("data_list", data_list) -end - - - -function init(self) - -- Main lobby have more render priority (top panel) - gui.set_render_order(10) - - window.set_listener(on_window_callback) - druid.set_default_style(default_style) - register_druid_extended_components(self) - self.druid = druid.new(self) - self.cache = sys.load(cache_path) or {} - - init_top_panel(self) - init_lobby(self) - self.current_script_url = "" - - timer.delay(0, false, check_loading) -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function final(self) - self.cache.scroll_position = self.lobby_scroll:get_percent().y - save_cache(self) - - self.druid:final() -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/custom/rich_input/rich_input.collection b/example/examples/custom/rich_input/rich_input.collection deleted file mode 100644 index c836ced..0000000 --- a/example/examples/custom/rich_input/rich_input.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "rich_input" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"rich_input\"\n" - " component: \"/example/examples/custom/rich_input/rich_input.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/custom/rich_input/rich_input.gui b/example/examples/custom/rich_input/rich_input.gui deleted file mode 100644 index 51c3ec7..0000000 --- a/example/examples/custom/rich_input/rich_input.gui +++ /dev/null @@ -1,535 +0,0 @@ -script: "/example/examples/custom/rich_input/rich_input.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 370.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: 700.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: "Rich Input custom component" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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: 230.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: "rich_input" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/druid/custom/rich_input/rich_input.gui" - template_node_child: false -} -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: "rich_input/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "rich_input" - 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: true - 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: 190.0 - y: 45.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/progress_back" - id: "rich_input/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "rich_input/root" - 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: true - 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.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 300.0 - y: 60.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.9490196 - y: 0.9490196 - z: 0.9490196 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "Placeholder" - font: "game" - id: "rich_input/placeholder_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.4 - y: 0.4 - z: 0.4 - 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: "rich_input/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 0.0 - template_node_child: true - 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: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 300.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: "User input" - font: "game" - id: "rich_input/input_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: "rich_input/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 67.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.6 - y: 0.6 - 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: "rich_input/cursor_node" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "rich_input/button" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 0.0 - y: 2.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: 20.0 - y: 40.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.2 - y: 0.2 - z: 0.2 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "|" - font: "game" - id: "rich_input/cursor_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: "rich_input/cursor_node" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/custom/rich_input/rich_input.gui_script b/example/examples/custom/rich_input/rich_input.gui_script deleted file mode 100644 index 73fe666..0000000 --- a/example/examples/custom/rich_input/rich_input.gui_script +++ /dev/null @@ -1,32 +0,0 @@ -local druid = require("druid.druid") - -local rich_input = require("druid.custom.rich_input.rich_input") - - -function init(self) - self.druid = druid.new(self) - - ---@type druid.rich_input - self.rich_input = self.druid:new(rich_input, "rich_input") - self.rich_input:set_placeholder("Enter text here") -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/custom/rich_text/rich_text.collection b/example/examples/custom/rich_text/rich_text.collection deleted file mode 100644 index 1a3756e..0000000 --- a/example/examples/custom/rich_text/rich_text.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "rich_text" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"rich_text\"\n" - " component: \"/example/examples/custom/rich_text/rich_text.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/custom/rich_text/rich_text.gui b/example/examples/custom/rich_text/rich_text.gui deleted file mode 100644 index 0762a48..0000000 --- a/example/examples/custom/rich_text/rich_text.gui +++ /dev/null @@ -1,94 +0,0 @@ -script: "/example/examples/custom/rich_text/rich_text.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -nodes { - position { - x: 300.0 - y: 415.0 - } - size { - x: 600.0 - y: 830.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "root" - inherit_alpha: true -} -nodes { - position { - y: 415.0 - } - size { - x: 600.0 - y: 830.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "scroll_view" - pivot: PIVOT_N - parent: "root" - inherit_alpha: true - visible: false -} -nodes { - size { - x: 600.0 - y: 1800.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "scroll_content" - pivot: PIVOT_N - parent: "scroll_view" - inherit_alpha: true - visible: false -} -nodes { - scale { - x: 0.8 - y: 0.8 - } - size { - x: 500.0 - y: 100.0 - } - color { - x: 0.9490196 - y: 0.9490196 - z: 0.9490196 - } - type: TYPE_TEXT - text: "This is the example page of Rich Text component" - font: "game" - id: "hint1" - pivot: PIVOT_N - outline { - x: 0.2 - z: 0.2 - } - shadow { - x: 0.2 - y: 0.2 - z: 0.2 - } - line_break: true - parent: "scroll_content" - inherit_alpha: true - outline_alpha: 0.75 - shadow_alpha: 0.25 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT diff --git a/example/examples/custom/rich_text/rich_text.gui_script b/example/examples/custom/rich_text/rich_text.gui_script deleted file mode 100644 index 5304074..0000000 --- a/example/examples/custom/rich_text/rich_text.gui_script +++ /dev/null @@ -1,92 +0,0 @@ -local druid = require("druid.druid") -local helper = require("druid.helper") - -local RichText = require("druid.custom.rich_text.rich_text") - - -local function highlight_nodes(words) - for index = 1, #words do - local node = words[index].node - local cloned = gui.clone(gui.get_node("highlight")) - gui.set_color(cloned, vmath.vector4(math.random(), math.random(), math.random(), 0.4)) - gui.set_screen_position(cloned, gui.get_screen_position(node)) - gui.set_size(cloned, gui.get_size(node)) - gui.set_scale(cloned, gui.get_scale(node)) - gui.set_pivot(cloned, gui.get_pivot(node)) - gui.animate(cloned, "color.w", 0, gui.EASING_INOUTSINE, 3, 0, nil, gui.PLAYBACK_LOOP_PINGPONG) - if words[index].text then - local text_metrics = helper.get_text_metrics_from_node(node) - gui.set_size(cloned, vmath.vector3(text_metrics.width, text_metrics.height, 0)) - end - end -end - - -function init(self) - self.druid = druid.new(self) - - self.druid:new_scroll("scroll_view", "scroll_content") - - self.rich_text = self.druid:new(RichText, "rich_text_1") - self.rich_text:set_text("Here is basic Rich Text without any text settings") - - self.rich_text_2 = self.druid:new(RichText, "rich_text_2") - self.rich_text_2:set_text("Here is example to compare Rich Text posing with usual GUI Text Node.") - local rich_text_2_root = self.rich_text_2.root - gui.animate(rich_text_2_root, "color.w", 0, gui.EASING_LINEAR, 4, 0, nil, gui.PLAYBACK_LOOP_PINGPONG) - gui.animate(gui.get_node("text_case_2"), "color.w", 1, gui.EASING_LINEAR, 4, 0, nil, gui.PLAYBACK_LOOP_PINGPONG) - --highlight_nodes(words2) - - self.rich_text_3 = self.druid:new(RichText, "rich_text_3") - local words3 = self.rich_text_3:set_text("This example highlight every text node in Rich Text") - highlight_nodes(words3) - - self.druid:new(RichText, "rich_text_4_1"):set_text("Text with image at center") - self.druid:new(RichText, "rich_text_4_2"):set_text("Text with image scaled in GUI") - self.druid:new(RichText, "rich_text_4_3"):set_text("Text with image with fixed height") - - -- Docs: For images vertical anchor takes from ImagePrefab - self.druid:new(RichText, "rich_text_5_NW"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_N"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_NE"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_W"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_C"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_E"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_SW"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_S"):set_text("Example text for pivots ") - self.druid:new(RichText, "rich_text_5_SE"):set_text("Example text for pivots ") - - --self.rich_text_3 = self.druid:new(RichText, "rich_text_3") - --local words3 = self.rich_text_3:set_text("Energy is full. To restore") - --highlight_nodes(words3) - self.rich_text_6 = self.druid:new(RichText, "rich_text_6") - self.rich_text_6:set_text("Example text with clickable tagged words") - local tagged = self.rich_text_6:tagged("customlink") - for index = 1, #tagged do - ---@type rich_text.word - local word = tagged[index] - self.druid:new_button(word.node, function() - print("on click tagged") - end) - end -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/add_remove_nodes/add_remove_nodes.collection b/example/examples/data_list/add_remove_nodes/add_remove_nodes.collection deleted file mode 100644 index 0156ee0..0000000 --- a/example/examples/data_list/add_remove_nodes/add_remove_nodes.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "add_remove_nodes" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"add_remove_nodes\"\n" - " component: \"/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui b/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui deleted file mode 100644 index b580990..0000000 --- a/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui +++ /dev/null @@ -1,859 +0,0 @@ -script: "/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 370.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: 700.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: "Add data to DataList\n" - "To remove element - click on it" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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: -2.0 - y: 242.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: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_simple" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -200.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: 400.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_simple_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_simple" - 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: 450.0 - y: 300.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: 90.0 - y: 70.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/button_blue" - id: "prefab_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 0.0 - z: 20.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: 4.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: 70.0 - y: 50.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: "001" - font: "game" - id: "text_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.3019608 - y: 0.4 - z: 0.8 - 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: "prefab_square" - 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: -110.0 - y: 282.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_simple_add_first" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_add_first/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_add_first" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Add\n" - "First" - font: "game" - id: "button_simple_add_first/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_add_first/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: 282.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_simple_add_10" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_add_10/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_add_10" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 5.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: "Add\n" - "at 10" - font: "game" - id: "button_simple_add_10/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_add_10/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 -} -nodes { - position { - x: 110.0 - y: 282.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_simple_add_last" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_add_last/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_add_last" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Add\n" - "Last" - font: "game" - id: "button_simple_add_last/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_add_last/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui_script b/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui_script deleted file mode 100644 index 383cd75..0000000 --- a/example/examples/data_list/add_remove_nodes/add_remove_nodes.gui_script +++ /dev/null @@ -1,70 +0,0 @@ -local druid = require("druid.druid") - - -local function create_simple_element(self, data, index, data_list) - -- Here we will create elements without druid components, just nodes - local instance = gui.clone_tree(self.prefab_square) - gui.set_enabled(instance["prefab_square"], true) - gui.set_text(instance["text_square"], data) - - local button = self.druid:new_button(instance["prefab_square"], function() - self.data_list:remove(index) - end) - button:set_click_zone(data_list.scroll.view_node) - - return instance["prefab_square"], button -end - - -function init(self) - self.druid = druid.new(self) - - self.data_set = {} - for i = 1, 50 do - table.insert(self.data_set, i) - end - - self.prefab_square = gui.get_node("prefab_square") - gui.set_enabled(self.prefab_square, false) - - local scroll_simple = self.druid:new_scroll("data_list_simple", "data_list_simple_content") - :set_vertical_scroll(false) - - --- The 999999 number in row - is kind of hack for single line static grid - local grid_simple = self.druid:new_static_grid("data_list_simple_content", "prefab_square", 999999) - - self.data_list = self.druid:new_data_list(scroll_simple, grid_simple, create_simple_element) - self.data_list:set_data(self.data_set) - - self.druid:new_button("button_simple_add_first/button", function() - local first_index = self.data_list:get_first_index() - self.data_list:add(first_index - 1, first_index - 1) - end) - self.druid:new_button("button_simple_add_10/button", function() - self.data_list:add(10, 10) - end) - self.druid:new_button("button_simple_add_last/button", function() - local last_index = self.data_list:get_last_index() - self.data_list:add(last_index + 1, last_index + 1) - end) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/dynamic_grid/dynamic_grid.collection b/example/examples/data_list/dynamic_grid/dynamic_grid.collection deleted file mode 100644 index 42d4200..0000000 --- a/example/examples/data_list/dynamic_grid/dynamic_grid.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "dynamic_grid" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"dynamic_grid\"\n" - " component: \"/example/examples/data_list/dynamic_grid/dynamic_grid.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/dynamic_grid/dynamic_grid.gui b/example/examples/data_list/dynamic_grid/dynamic_grid.gui deleted file mode 100644 index e72acc6..0000000 --- a/example/examples/data_list/dynamic_grid/dynamic_grid.gui +++ /dev/null @@ -1,542 +0,0 @@ -script: "/example/examples/data_list/dynamic_grid/dynamic_grid.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 380.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: 700.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: "Data List with vertical Dynamic Grid:" - font: "game" - id: "text_hint_vertical" - 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: "root" - 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: 350.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: 250.0 - y: 450.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_vertical" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: 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: 250.0 - y: 450.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/empty" - id: "data_list_vertical_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_vertical" - 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: -162.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: 700.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: "Data List with horizontal Dynamic Grid:" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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: -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: 600.0 - y: 120.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_horizontal" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: -60.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: 120.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/empty" - id: "data_list_horizontal_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_horizontal" - 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: 636.0 - y: -78.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: 60.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/button_blue" - id: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 10.0 - z: 20.0 - w: 20.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: 4.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: 200.0 - y: 50.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: "Record 1" - font: "game" - id: "text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.3019608 - y: 0.4 - z: 0.8 - 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: "prefab" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/dynamic_grid/dynamic_grid.gui_script b/example/examples/data_list/dynamic_grid/dynamic_grid.gui_script deleted file mode 100644 index 452f876..0000000 --- a/example/examples/data_list/dynamic_grid/dynamic_grid.gui_script +++ /dev/null @@ -1,95 +0,0 @@ -local druid = require("druid.druid") - - -local buttons = { - "button_blue", - "button_red", - "button_green", - "button_yellow", -} - - -local function create_vertical(self, data, index, data_list) - local instance = gui.clone_tree(self.prefab) - gui.set_enabled(instance["prefab"], true) - gui.set_text(instance["text"], "Record " .. data) - - gui.set_size(instance["prefab"], vmath.vector3(200, 50 + math.random(100), 0)) - gui.play_flipbook(instance["prefab"], buttons[math.random(#buttons)]) - - -- Since we have only 1 component, we can return this one - -- If we have several components, we should create custom component to - -- union them all - local button = self.druid:new_button(instance["prefab"], function() - print("Data list element click on", data) - end) - button:set_click_zone(data_list.scroll.view_node) - - return instance["prefab"], button -end - - -local function create_horizontal(self, data, index, data_list) - local instance = gui.clone_tree(self.prefab) - gui.set_enabled(instance["prefab"], true) - gui.set_text(instance["text"], "N. " .. data) - - gui.set_size(instance["prefab"], vmath.vector3(120 + math.random(100), 80, 0)) - gui.play_flipbook(instance["prefab"], buttons[math.random(#buttons)]) - - local button = self.druid:new_button(instance["prefab"], function() - print("Data list element click on", data) - end) - button:set_click_zone(data_list.scroll.view_node) - - return instance["prefab"], button -end - - -function init(self) - self.druid = druid.new(self) - - self.data_set = {} - for i = 1, 9999 do - table.insert(self.data_set, i) - end - - self.prefab = gui.get_node("prefab") - gui.set_enabled(self.prefab, false) - - - local scroll_vertical = self.druid:new_scroll("data_list_vertical", "data_list_vertical_content") - :set_horizontal_scroll(false) - local grid_vertical = self.druid:new_dynamic_grid("data_list_vertical_content") - - self.data_list_vertical = self.druid:new_data_list(scroll_vertical, grid_vertical, create_vertical) - self.data_list_vertical:set_data(self.data_set) - - - local scroll_horizontal = self.druid:new_scroll("data_list_horizontal", "data_list_horizontal_content") - :set_vertical_scroll(false) - local grid_horizontal = self.druid:new_dynamic_grid("data_list_horizontal_content") - - self.data_list_horizontal = self.druid:new_data_list(scroll_horizontal, grid_horizontal, create_horizontal) - self.data_list_horizontal:set_data(self.data_set) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/manage_data/manage_data.collection b/example/examples/data_list/manage_data/manage_data.collection deleted file mode 100644 index b783bf9..0000000 --- a/example/examples/data_list/manage_data/manage_data.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "data_list_manage_data" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"data_list_manage_data\"\n" - " component: \"/example/examples/data_list/manage_data/manage_data.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/manage_data/manage_data.gui b/example/examples/data_list/manage_data/manage_data.gui deleted file mode 100644 index 8b06a00..0000000 --- a/example/examples/data_list/manage_data/manage_data.gui +++ /dev/null @@ -1,774 +0,0 @@ -script: "/example/examples/data_list/manage_data/manage_data.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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: true -} -nodes { - position { - x: 0.0 - y: 370.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: 700.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: "Add nodes and remove it by click on them" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -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: 300.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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 - custom_type: 0 - enabled: true - visible: 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: 300.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_view" - 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: true -} -nodes { - position { - x: -110.0 - y: 270.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_add_first" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 150.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_first/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_first" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Add First" - font: "game" - id: "button_add_first/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_first/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 110.0 - y: 270.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_add_last" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 150.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_last/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_last" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Add Last" - font: "game" - id: "button_add_last/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_last/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 385.0 - y: 139.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_prefab" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 140.0 - y: 140.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/button_blue" - id: "button_prefab/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_prefab" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 150.0 - y: 50.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: "Element" - font: "game" - id: "button_prefab/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: true - parent: "button_prefab/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 18 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/manage_data/manage_data.gui_script b/example/examples/data_list/manage_data/manage_data.gui_script deleted file mode 100644 index adfd601..0000000 --- a/example/examples/data_list/manage_data/manage_data.gui_script +++ /dev/null @@ -1,78 +0,0 @@ -local druid = require("druid.druid") - - ----@class script_manage_data ----@field data_list druid.data_list ----@field grid druid.static_grid - ----@param self script_manage_data -local function create_element(self, data) - local nodes = gui.clone_tree(self.prefab) - local root = nodes["button_prefab/button"] - gui.set_text(nodes["button_prefab/text"], "Element " .. data) - gui.set_enabled(root, true) - - local button = self.druid:new_button(root, function() - self.data_list:remove_by_data(data) - end) - button:set_click_zone(self.scroll.view_node) - return root, button -end - - -local index = 0 ----@param self script_manage_data -local function on_add_first(self) - --index = index + 1 - --self.data_list:add(index, 1) -end - - ----@param self script_manage_data -local function on_add_last(self) - index = index + 1 - self.data_list:add(index) -end - - ----@param self script_manage_data -function init(self) - self.druid = druid.new(self) - - self.prefab = gui.get_node("button_prefab/button") - gui.set_enabled(self.prefab, false) - - self.scroll = self.druid:new_scroll("data_list_view", "data_list_content") - self.scroll:set_horizontal_scroll(false) - self.grid = self.druid:new_static_grid("data_list_content", self.prefab, 2) - self.grid:set_position_function(function(node, position) - gui.animate(node, "position", position, gui.EASING_OUTSINE, 0.6) - end) - self.data_list = self.druid:new_data_list(self.scroll, self.grid, create_element) - self.data_list:set_debug(true) - - self.druid:new_button("button_add_first/button", on_add_first) - local button = self.druid:new_button("button_add_last/button", on_add_last) -end - - ----@param self script_manage_data -function final(self) - self.druid:final() -end - - ----@param self script_manage_data -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/navigate/navigate.collection b/example/examples/data_list/navigate/navigate.collection deleted file mode 100644 index 2a52de3..0000000 --- a/example/examples/data_list/navigate/navigate.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "navigate" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"navigate\"\n" - " component: \"/example/examples/data_list/navigate/navigate.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/navigate/navigate.gui b/example/examples/data_list/navigate/navigate.gui deleted file mode 100644 index 2c12bb2..0000000 --- a/example/examples/data_list/navigate/navigate.gui +++ /dev/null @@ -1,1838 +0,0 @@ -script: "/example/examples/data_list/navigate/navigate.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 359.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: "info_static" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 0.0 - y: 4.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: 700.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: "Simple navigate, static grid" - font: "game" - id: "text_hint_horizontal" - 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: "info_static" - 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: -2.0 - y: -103.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: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_simple" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "info_static" - layer: "" - 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: -200.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: 400.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_simple_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_simple" - 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: 450.0 - y: -83.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: 90.0 - y: 70.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/button_blue" - id: "prefab_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_static" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 0.0 - z: 20.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: 4.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: 70.0 - y: 50.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: "001" - font: "game" - id: "text_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.3019608 - y: 0.4 - z: 0.8 - 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: "prefab_square" - 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: -110.0 - y: -63.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_simple_first" - parent: "info_static" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_first/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_first" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "First" - font: "game" - id: "button_simple_first/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_first/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -63.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_simple_hundred" - parent: "info_static" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_hundred/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_hundred" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 5.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: "100" - font: "game" - id: "button_simple_hundred/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_hundred/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 110.0 - y: -63.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_simple_last" - parent: "info_static" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_simple_last/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_simple_last" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Last" - font: "game" - id: "button_simple_last/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_simple_last/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -219.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: 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: "scroll_slider" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_static" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 0.0 - z: 10.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: -200.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: "grid_scroll_pin" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_slider" - 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: -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: 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: "info_dynamic" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 0.0 - y: 4.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: 700.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: "Simple navigate with DynamicGrid" - font: "game" - id: "text_hint_dynamic" - 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: "info_dynamic" - 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: -2.0 - y: -103.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: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_dynamic" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "info_dynamic" - layer: "" - 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: -200.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: 400.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_dynamic_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_dynamic" - 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: -110.0 - y: -63.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_dynamic_first" - parent: "info_dynamic" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_dynamic_first/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_dynamic_first" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "First" - font: "game" - id: "button_dynamic_first/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_dynamic_first/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -63.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_dynamic_hundred" - parent: "info_dynamic" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_dynamic_hundred/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_dynamic_hundred" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 5.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: "100" - font: "game" - id: "button_dynamic_hundred/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_dynamic_hundred/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 110.0 - y: -63.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_dynamic_last" - parent: "info_dynamic" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_dynamic_last/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_dynamic_last" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Last" - font: "game" - id: "button_dynamic_last/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_dynamic_last/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -219.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: 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: "dynamic_slider" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_dynamic" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 0.0 - z: 10.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: -200.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: "grid_scroll_dynamic_pin" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "dynamic_slider" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/navigate/navigate.gui_script b/example/examples/data_list/navigate/navigate.gui_script deleted file mode 100644 index 47ceba4..0000000 --- a/example/examples/data_list/navigate/navigate.gui_script +++ /dev/null @@ -1,104 +0,0 @@ -local druid = require("druid.druid") - - -local function create_element(self, data, index, data_list) - -- Here we will create elements without druid components, just nodes - local instance = gui.clone_tree(self.prefab_square) - gui.set_enabled(instance["prefab_square"], true) - gui.set_text(instance["text_square"], data) - return instance["prefab_square"] -end - - -local function init_data_list_with_static_grid(self) - local scroll_simple = self.druid:new_scroll("data_list_simple", "data_list_simple_content") - :set_vertical_scroll(false) - - --- The 999999 number in row - is kind of hack for single line static grid - local grid_simple = self.druid:new_static_grid("data_list_simple_content", "prefab_square", 999999) - - self.data_list_simple = self.druid:new_data_list(scroll_simple, grid_simple, create_element) - self.data_list_simple:set_data(self.data_set) - - self.slider_simple = self.druid:new_slider("grid_scroll_pin", vmath.vector3(200, 0, 0)) - -- Disable slider input, now we can not use slider with data list - self.slider_simple:set_input_enabled(false) - self.data_list_simple.on_scroll_progress_change:subscribe(function(_, progress) - self.slider_simple:set(progress, true) - end) - - self.druid:new_button("button_simple_first/button", function() - self.data_list_simple:scroll_to_index(1) - end) - self.druid:new_button("button_simple_hundred/button", function() - self.data_list_simple:scroll_to_index(100) - end) - self.druid:new_button("button_simple_last/button", function() - self.data_list_simple:scroll_to_index(#self.data_set) - end) -end - - -local function init_data_list_with_dynamic_grid(self) - local scroll_dynamic = self.druid:new_scroll("data_list_dynamic", "data_list_dynamic_content") - :set_vertical_scroll(false) - - local grid_dynamic = self.druid:new_dynamic_grid("data_list_dynamic_content") - - self.data_list_dynamic = self.druid:new_data_list(scroll_dynamic, grid_dynamic, create_element) - self.data_list_dynamic:set_data(self.data_set) - - self.slider_dynamic = self.druid:new_slider("grid_scroll_dynamic_pin", vmath.vector3(200, 0, 0)) - -- Disable slider input, now we can not use slider with data list - self.slider_dynamic:set_input_enabled(false) - self.data_list_dynamic.on_scroll_progress_change:subscribe(function(_, progress) - self.slider_dynamic:set(progress, true) - end) - - self.druid:new_button("button_dynamic_first/button", function() - self.data_list_dynamic:scroll_to_index(1) - end) - self.druid:new_button("button_dynamic_hundred/button", function() - self.data_list_dynamic:scroll_to_index(100) - end) - self.druid:new_button("button_dynamic_last/button", function() - self.data_list_dynamic:scroll_to_index(#self.data_set) - end) -end - - -function init(self) - self.druid = druid.new(self) - - self.data_set = {} - for i = 1, 999 do - table.insert(self.data_set, i) - end - - self.prefab_square = gui.get_node("prefab_square") - gui.set_enabled(self.prefab_square, false) - - - init_data_list_with_static_grid(self) - init_data_list_with_dynamic_grid(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/reinit_data/reinit_data.collection b/example/examples/data_list/reinit_data/reinit_data.collection deleted file mode 100644 index 94eec04..0000000 --- a/example/examples/data_list/reinit_data/reinit_data.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "data_list_reinit" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"data_list_reinit\"\n" - " component: \"/example/examples/data_list/reinit_data/reinit_data.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/reinit_data/reinit_data.gui b/example/examples/data_list/reinit_data/reinit_data.gui deleted file mode 100644 index 5e89135..0000000 --- a/example/examples/data_list/reinit_data/reinit_data.gui +++ /dev/null @@ -1,751 +0,0 @@ -script: "/example/examples/data_list/reinit_data/reinit_data.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 370.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: 700.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: "Press button to set data or clear data" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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 - custom_type: 0 -} -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: 300.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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 - custom_type: 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: 300.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_view" - 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 -} -nodes { - position { - x: -110.0 - y: 270.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_fill" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_fill/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_fill" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Fill" - font: "game" - id: "button_fill/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_fill/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 110.0 - y: 270.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_clear" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 90.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_clear/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_clear" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 7.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: 50.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: "Clear" - font: "game" - id: "button_clear/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_clear/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 385.0 - y: 139.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_prefab" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 140.0 - y: 140.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/button_blue" - id: "button_prefab/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_prefab" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 7.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: 150.0 - y: 50.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: "Element" - font: "game" - id: "button_prefab/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: true - parent: "button_prefab/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 4 - overridden_fields: 8 - overridden_fields: 18 - overridden_fields: 36 - template_node_child: true - text_leading: 0.8 - text_tracking: 0.0 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/reinit_data/reinit_data.gui_script b/example/examples/data_list/reinit_data/reinit_data.gui_script deleted file mode 100644 index 3e25689..0000000 --- a/example/examples/data_list/reinit_data/reinit_data.gui_script +++ /dev/null @@ -1,65 +0,0 @@ -local druid = require("druid.druid") - - -local function create_element(self, data) - local nodes = gui.clone_tree(self.prefab) - local root = nodes["button_prefab/button"] - gui.set_text(nodes["button_prefab/text"], "Element " .. data) - gui.set_enabled(root, true) - - local button = self.druid:new_button(root, function()end) - button:set_click_zone(self.scroll.view_node) - return root, button -end - - -local function on_fill(self) - self.data_list:set_data(self.data) -end - - -local function on_clear(self) - self.data_list:set_data() -end - - -function init(self) - self.druid = druid.new(self) - - self.prefab = gui.get_node("button_prefab/button") - gui.set_enabled(self.prefab, false) - - self.scroll = self.druid:new_scroll("data_list_view", "data_list_content") - self.scroll:set_horizontal_scroll(false) - self.grid = self.druid:new_static_grid("data_list_content", self.prefab, 2) - self.data_list = self.druid:new_data_list(self.scroll, self.grid, create_element) - self.data_list:set_debug(true) - - self.data = {} - for i = 1, 30 do - table.insert(self.data, i) - end - - self.druid:new_button("button_fill/button", on_fill) - self.druid:new_button("button_clear/button", on_clear) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/static_grid/static_grid.collection b/example/examples/data_list/static_grid/static_grid.collection deleted file mode 100644 index c18cef5..0000000 --- a/example/examples/data_list/static_grid/static_grid.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "static_grid" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"static_grid\"\n" - " component: \"/example/examples/data_list/static_grid/static_grid.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/static_grid/static_grid.gui b/example/examples/data_list/static_grid/static_grid.gui deleted file mode 100644 index 2d5ab2d..0000000 --- a/example/examples/data_list/static_grid/static_grid.gui +++ /dev/null @@ -1,834 +0,0 @@ -script: "/example/examples/data_list/static_grid/static_grid.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 380.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: 700.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: "Data List with vertical Static Grid:" - font: "game" - id: "text_hint_vertical" - 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: "root" - 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: 350.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: 250.0 - y: 240.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_vertical" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: 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: 250.0 - y: 240.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_vertical_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_vertical" - 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: 70.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: 700.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: "Data List with horizontal Static Grid,\n" - "without buttons:" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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: -2.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: 1.0 - y: 1.0 - z: 1.0 - w: 1.0 - } - size { - x: 400.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_horizontal" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: -200.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: 400.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_horizontal_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_horizontal" - 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: -120.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 800.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: "Data List with vertical Static Grid 3 in row" - font: "game" - id: "text_hint_vertical3" - 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: "root" - 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: -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: 400.0 - y: 240.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_matrix_vertical" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: 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: 270.0 - y: 240.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/empty" - id: "data_list_matrix_vertical_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_matrix_vertical" - 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: 449.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: 170.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 0.0 - z: 20.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: 4.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: 200.0 - y: 50.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: "Record 1" - font: "game" - id: "text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.3019608 - y: 0.4 - z: 0.8 - 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: "prefab" - 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: 450.0 - y: -103.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: 90.0 - y: 70.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/button_blue" - id: "prefab_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 0.0 - z: 20.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: 4.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: 70.0 - y: 50.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: "001" - font: "game" - id: "text_square" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.3019608 - y: 0.4 - z: 0.8 - 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: "prefab_square" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/static_grid/static_grid.gui_script b/example/examples/data_list/static_grid/static_grid.gui_script deleted file mode 100644 index 2bcbedf..0000000 --- a/example/examples/data_list/static_grid/static_grid.gui_script +++ /dev/null @@ -1,103 +0,0 @@ -local druid = require("druid.druid") - - -local function create_vertical_element(self, data, index, data_list) - local instance = gui.clone_tree(self.prefab) - gui.set_enabled(instance["prefab"], true) - gui.set_text(instance["text"], "Record " .. data) - - -- Since we have only 1 component, we can return this one - -- If we have several components, we should create custom component to - -- union them all - local button = self.druid:new_button(instance["prefab"], function() - print("Data list element click on", data) - end) - button:set_click_zone(data_list.scroll.view_node) - - return instance["prefab"], button -end - - -local function create_horizontal_element(self, data, index, data_list) - -- Here we will create elements without druid components, just nodes - local instance = gui.clone_tree(self.prefab_square) - gui.set_enabled(instance["prefab_square"], true) - gui.set_text(instance["text_square"], data) - return instance["prefab_square"] -end - - -local function create_matrix_element(self, data, index, data_list) - local instance = gui.clone_tree(self.prefab_square) - gui.set_enabled(instance["prefab_square"], true) - gui.set_text(instance["text_square"], data) - - local button = self.druid:new_button(instance["prefab_square"], function() - print("Data list element click on", data) - end) - button:set_click_zone(data_list.scroll.view_node) - - return instance["prefab_square"], button -end - - -function init(self) - self.druid = druid.new(self) - - self.data_set = {} - for i = 1, 9999 do - table.insert(self.data_set, i) - end - - self.prefab = gui.get_node("prefab") - gui.set_enabled(self.prefab, false) - - self.prefab_square = gui.get_node("prefab_square") - gui.set_enabled(self.prefab_square, false) - - - -- Data list initialization - local scroll_vertical = self.druid:new_scroll("data_list_vertical", "data_list_vertical_content") - :set_horizontal_scroll(false) - local grid_vertical = self.druid:new_static_grid("data_list_vertical_content", "prefab", 1) - - -- We pass already created scroll and grid components with create function - self.data_list_vertical = self.druid:new_data_list(scroll_vertical, grid_vertical, create_vertical_element) - self.data_list_vertical:set_data(self.data_set) - - - local scroll_horizontal = self.druid:new_scroll("data_list_horizontal", "data_list_horizontal_content") - :set_vertical_scroll(false) - local grid_horizontal = self.druid:new_static_grid("data_list_horizontal_content", "prefab_square", 999) - - self.data_list_horizontal = self.druid:new_data_list(scroll_horizontal, grid_horizontal, create_horizontal_element) - self.data_list_horizontal:set_data(self.data_set) - - - local scroll_matrix = self.druid:new_scroll("data_list_matrix_vertical", "data_list_matrix_vertical_content") - :set_horizontal_scroll(false) - local grid_matrix = self.druid:new_static_grid("data_list_matrix_vertical_content", "prefab_square", 3) - - self.data_list_matrix = self.druid:new_data_list(scroll_matrix, grid_matrix, create_matrix_element) - self.data_list_matrix:set_data(self.data_set) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/data_list/with_component/button_component/button_component.gui b/example/examples/data_list/with_component/button_component/button_component.gui deleted file mode 100644 index f2c721f..0000000 --- a/example/examples/data_list/with_component/button_component/button_component.gui +++ /dev/null @@ -1,249 +0,0 @@ -script: "" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 450.0 - y: 80.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/button_blue" - id: "root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - layer: "" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.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 -} -nodes { - position { - x: -50.0 - y: 8.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: 300.0 - y: 50.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: "Record: 1" - font: "game" - id: "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: "root" - 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 -} -nodes { - position { - x: 175.0 - y: 6.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: 49.0 - y: 49.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/back_green" - id: "icon" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 2.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: 21.0 - y: 20.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/checkmark" - id: "checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "icon" - 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 - custom_type: 0 -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/with_component/button_component/button_component.lua b/example/examples/data_list/with_component/button_component/button_component.lua deleted file mode 100644 index 2609c8e..0000000 --- a/example/examples/data_list/with_component/button_component/button_component.lua +++ /dev/null @@ -1,67 +0,0 @@ ---- For component interest functions ---- see https://github.com/Insality/druid/blob/develop/docs_md/02-creating_custom_components.md ---- Require this component in you gui file: ---- local ButtonComponent = require("example.examples.data_list.with_component.button_component.button_component") ---- And create this component via: ---- self.button_component = self.druid:new(ButtonComponent, template, nodes) - -local Event = require("druid.event") -local component = require("druid.component") - ----@class button_component: druid.base_component ----@field root node ----@field text druid.text ----@field druid druid_instance -local ButtonComponent = component.create("button_component") - - ----@param template string ----@param nodes table -function ButtonComponent:init(template, nodes) - self.druid = self:get_druid(template, nodes) - - self.root = self:get_node("root") - self.text = self.druid:new_text("text") - self.checkbox = self:get_node("checkbox") - - self.button = self.druid:new_button(self.root, self._on_click) - - self.on_click = Event() -end - - -function ButtonComponent:set_data(data) - self._data = data - self.text:set_to("Element: " .. data.value) - self:set_checked(self._data.is_checked) -end - - -function ButtonComponent:get_data() - return self._data -end - - -function ButtonComponent:set_checked(state) - self._data.is_checked = state - gui.set_enabled(self.checkbox, state) -end - - -function ButtonComponent:set_click_zone(node) - self.button:set_click_zone(node) -end - - -function ButtonComponent:on_remove() - self.on_click:clear() -end - - -function ButtonComponent:_on_click() - self.on_click:trigger(self) -end - - - -return ButtonComponent diff --git a/example/examples/data_list/with_component/with_component.collection b/example/examples/data_list/with_component/with_component.collection deleted file mode 100644 index 18df249..0000000 --- a/example/examples/data_list/with_component/with_component.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "data_list_with_component" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"data_list_with_component\"\n" - " component: \"/example/examples/data_list/with_component/with_component.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/data_list/with_component/with_component.gui b/example/examples/data_list/with_component/with_component.gui deleted file mode 100644 index 54992cc..0000000 --- a/example/examples/data_list/with_component/with_component.gui +++ /dev/null @@ -1,528 +0,0 @@ -script: "/example/examples/data_list/with_component/with_component.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 370.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: 700.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: "Click to select component in DataList" - font: "game" - id: "text_hint_horizontal" - 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: "root" - 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 - custom_type: 0 -} -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: 450.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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 - custom_type: 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: 450.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.6 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_view" - 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 -} -nodes { - position { - x: 0.0 - y: 157.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_component" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/data_list/with_component/button_component/button_component.gui" - template_node_child: false - custom_type: 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: 450.0 - y: 80.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/button_blue" - id: "button_component/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_component" - layer: "" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.0 - w: 0.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 -} -nodes { - position { - x: -50.0 - y: 8.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: 300.0 - y: 50.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: "Record: 1" - font: "game" - id: "button_component/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_component/root" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 175.0 - y: 6.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: 49.0 - y: 49.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/back_green" - id: "button_component/icon" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_component/root" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 2.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: 21.0 - y: 20.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/checkmark" - id: "button_component/checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_component/icon" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/data_list/with_component/with_component.gui_script b/example/examples/data_list/with_component/with_component.gui_script deleted file mode 100644 index 7a143cd..0000000 --- a/example/examples/data_list/with_component/with_component.gui_script +++ /dev/null @@ -1,89 +0,0 @@ -local druid = require("druid.druid") - -local ButtonComponent = require("example.examples.data_list.with_component.button_component.button_component") - - -local function on_element_add(self, index, node, instance) - print("Add element from DataList at index", index, node) -end - - -local function on_element_remove(self, index) - print("Remove element from DataList at index", index) -end - - -local function on_button_click(self, button) - -- Since we change data of other records, we need to change raw data and change state of - -- created components - local data = self.data_list:get_data() - for _, entry in pairs(data) do - entry.is_checked = false - end - - -- This is way to access all current created DataList components - local components = self.data_list:get_created_components() - for _, component in pairs(components) do - component:set_checked(component == button) - end -end - - -local function create_element(self, data) - local nodes = gui.clone_tree(self.prefab) - -- Create custom component to pass it to DataList - local button = self.druid:new(ButtonComponent, "button_component", nodes) - -- Prefab is disabled, so need to enable it for new component - gui.set_enabled(button.root, true) - button:set_data(data) - button:set_click_zone(self.scroll.view_node) - button.on_click:subscribe(on_button_click, self) - - return button.root, button -end - - -function init(self) - self.druid = druid.new(self) - - self.prefab = gui.get_node("button_component/root") - gui.set_enabled(self.prefab, false) - - self.scroll = self.druid:new_scroll("data_list_view", "data_list_content") - self.scroll:set_horizontal_scroll(false) - self.grid = self.druid:new_static_grid("data_list_content", self.prefab, 1) - self.data_list = self.druid:new_data_list(self.scroll, self.grid, create_element) - - self.data = {} - for i = 1, 100 do - table.insert(self.data, { - is_checked = false, - value = i - }) - end - - self.data_list:set_data(self.data) - -- Custom callbacks for more management in DataList - self.data_list.on_element_add:subscribe(on_element_add) - self.data_list.on_element_remove:subscribe(on_element_remove) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/buttons/buttons.collection b/example/examples/general/buttons/buttons.collection deleted file mode 100644 index 9f8499e..0000000 --- a/example/examples/general/buttons/buttons.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "buttons" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"buttons\"\n" - " component: \"/example/examples/general/buttons/buttons.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/buttons/buttons.gui b/example/examples/general/buttons/buttons.gui deleted file mode 100644 index a1f6779..0000000 --- a/example/examples/general/buttons/buttons.gui +++ /dev/null @@ -1,1602 +0,0 @@ -script: "/example/examples/general/buttons/buttons.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -200.0 - y: 280.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_usual" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_usual/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_usual" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Usual" - font: "game" - id: "button_usual/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_usual/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -200.0 - y: 180.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_custom_style" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_custom_style/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_custom_style" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - 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: "Custom Style" - font: "game" - id: "button_custom_style/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_custom_style/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -200.0 - y: 80.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_long_tap" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_long_tap/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_long_tap" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.7 - 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: "Long tap" - font: "game" - id: "button_long_tap/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_long_tap/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -200.0 - y: -20.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_repeated_tap" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_repeated_tap/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_repeated_tap" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.7 - 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: "Repeated" - font: "game" - id: "button_repeated_tap/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_repeated_tap/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -200.0 - y: -120.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_double_tap" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_double_tap/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_double_tap" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.7 - 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: "Double tap" - font: "game" - id: "button_double_tap/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_double_tap/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -200.0 - y: -220.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_key_trigger" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_key_trigger/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_key_trigger" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.7 - 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: "Press Space" - font: "game" - id: "button_key_trigger/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_key_trigger/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: 280.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_anim" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_anim/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_anim" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - 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: "Anim node" - font: "game" - id: "button_anim/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_anim/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 62.0 - y: 305.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: 36.0 - y: 36.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/slider_move" - id: "anim_node_icon" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 2.0 - y: 2.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 40.0 - y: 40.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: "?" - font: "game" - id: "anim_node_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: "anim_node_icon" - 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 -} -nodes { - position { - x: 200.0 - y: 80.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_custom_check" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_custom_check/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_custom_check" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - 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: "Check func" - font: "game" - id: "button_custom_check/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_custom_check/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - overridden_fields: 18 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 200.0 - y: 180.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 400.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: "Button with additional check function." - font: "game" - id: "text_custom_check" - 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: "root" - 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: 200.0 - y: -20.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 400.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: "Failure callback: false" - font: "game" - id: "text_custom_result" - 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: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/buttons/buttons.gui_script b/example/examples/general/buttons/buttons.gui_script deleted file mode 100644 index 144c237..0000000 --- a/example/examples/general/buttons/buttons.gui_script +++ /dev/null @@ -1,98 +0,0 @@ -local druid = require("druid.druid") - - -local function usual_callback() - print("Usual callback") -end - - -local function long_tap_callback(self, params, button, hold_time) - print("Long tap callback", hold_time) -end - - -local function hold_callback(self, params, button, hold_time) - print("On hold callback", hold_time) -end - - -local function repeated_callback(self, params, button, click_in_row) - print("Repeated callback", click_in_row) -end - - -local function double_tap_callback(self, params, button, click_in_row) - print("Double tap callback", click_in_row) -end - - -local function check_function(self) - self._some_test_value = self._some_test_value or 0 - self._some_test_value = self._some_test_value + 1 - - return self._some_test_value % 2 == 0 -end - - -local function failure_check_callback(self) - gui.set_text(gui.get_node("text_custom_result"), "Failure callback: true") -end - - -local function check_clicked_callback(self) - local node = gui.get_node("text_custom_result") - gui.set_text(node, "Failure callback: false") - - gui.set_scale(node, vmath.vector3(0.75)) - gui.animate(node, gui.PROP_SCALE, 0.5, gui.EASING_OUTSINE, 0.2) -end - - -local function setup_buttons(self) - self.druid:new_button("button_usual/button", usual_callback) - - local long_button = self.druid:new_button("button_long_tap/button", usual_callback) - long_button.on_hold_callback:subscribe(hold_callback) - long_button.on_long_click:subscribe(long_tap_callback) - self.druid:new_button("button_repeated_tap/button", usual_callback) - .on_repeated_click:subscribe(repeated_callback) - self.druid:new_button("button_double_tap/button", usual_callback) - .on_double_click:subscribe(double_tap_callback) - - local button_space = self.druid:new_button("button_key_trigger/button", usual_callback) - button_space:set_key_trigger("key_space") - button_space.on_long_click:subscribe(long_tap_callback) - button_space.on_double_click:subscribe(double_tap_callback) - - -- Button with another node for animating - self.druid:new_button("button_anim/button", usual_callback, nil, "anim_node_icon") - - self.druid:new_button("button_custom_check/button", check_clicked_callback) - :set_check_function(check_function, failure_check_callback) -end - - -function init(self) - self.druid = druid.new(self) - setup_buttons(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/checkboxes/checkboxes.collection b/example/examples/general/checkboxes/checkboxes.collection deleted file mode 100644 index fc95004..0000000 --- a/example/examples/general/checkboxes/checkboxes.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "checkboxes" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"checkboxes\"\n" - " component: \"/example/examples/general/checkboxes/checkboxes.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/checkboxes/checkboxes.gui b/example/examples/general/checkboxes/checkboxes.gui deleted file mode 100644 index 8998a79..0000000 --- a/example/examples/general/checkboxes/checkboxes.gui +++ /dev/null @@ -1,1454 +0,0 @@ -script: "/example/examples/general/checkboxes/checkboxes.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -10.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: 260.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: "Single checkbox" - font: "game" - id: "text_simple" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 60.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: 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: "checkbox" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false - custom_type: 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: 38.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/check_back_square" - id: "checkbox/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 21.0 - y: 20.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/checkmark" - id: "checkbox/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: -10.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: 260.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: "Group checkboxes" - font: "game" - id: "text_group" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 60.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: 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: "checkbox_group" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 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_TEMPLATE - id: "checkbox1" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false - custom_type: 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: 38.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/check_back_square" - id: "checkbox1/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox1" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 21.0 - y: 20.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/checkmark" - id: "checkbox1/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox1/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: 70.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_TEMPLATE - id: "checkbox2" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false - custom_type: 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: 38.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/check_back_square" - id: "checkbox2/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox2" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 21.0 - y: 20.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/checkmark" - id: "checkbox2/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox2/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: 140.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_TEMPLATE - id: "checkbox3" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false - custom_type: 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: 38.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/check_back_square" - id: "checkbox3/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox3" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 21.0 - y: 20.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/checkmark" - id: "checkbox3/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox3/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: -10.0 - y: -100.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: 260.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: "Radio group" - font: "game" - id: "text_radiogroup" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 60.0 - y: -100.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: "radio_group" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 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_TEMPLATE - id: "radio1" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false - custom_type: 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: 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/check_back_circle" - id: "radio1/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio1" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio1/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio1/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: 70.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_TEMPLATE - id: "radio2" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false - custom_type: 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: 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/check_back_circle" - id: "radio2/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio2" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio2/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio2/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: 140.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_TEMPLATE - id: "radio3" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false - custom_type: 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: 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/check_back_circle" - id: "radio3/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio3" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio3/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio3/back" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/checkboxes/checkboxes.gui_script b/example/examples/general/checkboxes/checkboxes.gui_script deleted file mode 100644 index a5a44f9..0000000 --- a/example/examples/general/checkboxes/checkboxes.gui_script +++ /dev/null @@ -1,45 +0,0 @@ -local druid = require("druid.druid") - - -local function on_single_checkbox(self, value) - print("Single checkbox callback. Value:", value) -end - - -function init(self) - self.druid = druid.new(self) - - local single_checkbox = self.druid:new_checkbox("checkbox/check", on_single_checkbox) - - local radio_group = self.druid:new_radio_group( - {"radio1/check", "radio2/check", "radio3/check"}, - nil, - {"radio1/back", "radio2/back", "radio3/back"}) -- last row optional. It's input node (default - click node) - radio_group:set_state(2, true) - - local checkbox_group = self.druid:new_checkbox_group( - {"checkbox1/check", "checkbox2/check", "checkbox3/check"}, - nil, - {"checkbox1/back", "checkbox2/back", "checkbox3/back"}) -- last row optional. It's input node (default - click node) - checkbox_group:set_state({true, false, true}, true) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/data_list/data_list.collection b/example/examples/general/data_list/data_list.collection deleted file mode 100644 index b00f124..0000000 --- a/example/examples/general/data_list/data_list.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "data_list" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"data_list\"\n" - " component: \"/example/examples/general/data_list/data_list.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/data_list/data_list.gui b/example/examples/general/data_list/data_list.gui deleted file mode 100644 index bc72836..0000000 --- a/example/examples/general/data_list/data_list.gui +++ /dev/null @@ -1,479 +0,0 @@ -script: "/example/examples/general/data_list/data_list.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 360.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: 800.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: "The default DataList component. Click on node to mark checkbox. The mark info is saved in element data" - font: "game" - id: "text_hint" - 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: "root" - 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: 300.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: 500.0 - y: 650.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - 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: 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: 500.0 - y: 650.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "data_list_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "data_list_view" - 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: 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: 450.0 - y: 80.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/button_green" - id: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.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: -50.0 - y: 8.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: 300.0 - y: 50.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: "Record: 1" - font: "game" - id: "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: "prefab" - 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 -} -nodes { - position { - x: 175.0 - y: 6.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: 49.0 - y: 49.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/back_green" - id: "icon" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefab" - 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: 0.0 - y: 2.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: 21.0 - y: 20.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/checkmark" - id: "checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "icon" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/data_list/data_list.gui_script b/example/examples/general/data_list/data_list.gui_script deleted file mode 100644 index 9d05722..0000000 --- a/example/examples/general/data_list/data_list.gui_script +++ /dev/null @@ -1,69 +0,0 @@ -local druid = require("druid.druid") - - -local function create_function(self, data, index, data_list) - -- In data list create funtion we made all init stuff for this node - local nodes = gui.clone_tree(self.prefab) - local root = nodes["prefab"] - gui.set_enabled(root, true) - gui.set_enabled(nodes["checkbox"], data.is_checked) - gui.set_text(nodes["text"], "Record " .. data.value) - - -- Since we have only 1 component, we can return this one - -- If we have several components, we should create custom component to - -- union them all - local button = self.druid:new_button(root, function() - data.is_checked = not data.is_checked - gui.set_enabled(nodes["checkbox"], data.is_checked) - end) - button:set_click_zone(data_list.scroll.view_node) - - -- We should return in this function root node and optionally - Druid component - return root, button -end - - -function init(self) - self.druid = druid.new(self) - - self.prefab = gui.get_node("prefab") - gui.set_enabled(self.prefab, false) - - local data = {} - - for i = 1, 999 do - table.insert(data, { - is_checked = false, - value = i - }) - end - - self.scroll = self.druid:new_scroll("data_list_view", "data_list_content") - self.scroll:set_horizontal_scroll(false) - self.grid = self.druid:new_static_grid("data_list_content", "prefab", 1) - - -- Pass already created scroll and grid components to data_list: - self.data_list = self.druid:new_data_list(self.scroll, self.grid, create_function) - - self.data_list:set_data(data) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/drag/drag.collection b/example/examples/general/drag/drag.collection deleted file mode 100644 index d2e1e32..0000000 --- a/example/examples/general/drag/drag.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "drag" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"drag\"\n" - " component: \"/example/examples/general/drag/drag.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/drag/drag.gui b/example/examples/general/drag/drag.gui deleted file mode 100644 index a0c145a..0000000 --- a/example/examples/general/drag/drag.gui +++ /dev/null @@ -1,482 +0,0 @@ -script: "/example/examples/general/drag/drag.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: -170.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: 200.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: "drag_node" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 -} -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: 50.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: "Drag Here" - font: "game" - id: "text_swipe" - 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: "drag_node" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 170.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: 150.0 - y: 150.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 0.5019608 - z: 0.6 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "icon_box" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 -} -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: 140.0 - y: 50.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: "Box" - font: "game" - id: "text_box" - 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: "icon_box" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: -344.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_drag" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 300.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_drag/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_drag" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Toggle Drag Enabled" - font: "game" - id: "button_drag/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_drag/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/drag/drag.gui_script b/example/examples/general/drag/drag.gui_script deleted file mode 100644 index 06e3584..0000000 --- a/example/examples/general/drag/drag.gui_script +++ /dev/null @@ -1,54 +0,0 @@ -local druid = require("druid.druid") - - -local function on_drag_callback(self, dx, dy, total_x, total_y) - self.position.x = self.position.x + dx - self.position.y = self.position.y + dy - print("Total drag:", total_x, total_y) - gui.set_position(self.box, self.position) -end - - -local function on_drag_end(self) - self.position.x = 0 - self.position.y = 170 - gui.animate(self.box, "position", self.position, gui.EASING_OUTSINE, 0.3) -end - - -local function on_drag_toggle(self) - self.drag:set_enabled(not self.drag:is_enabled()) -end - - -function init(self) - self.druid = druid.new(self) - - self.box = gui.get_node("icon_box") - self.position = gui.get_position(self.box) - self.drag = self.druid:new_drag("drag_node", on_drag_callback) - - self.drag.on_drag_end:subscribe(on_drag_end, self) - - self.druid:new_button("button_drag/button", on_drag_toggle) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/grid/grid.collection b/example/examples/general/grid/grid.collection deleted file mode 100644 index 8efd8c5..0000000 --- a/example/examples/general/grid/grid.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "grid" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"overview\"\n" - " component: \"/example/examples/general/grid/grid.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/grid/grid.gui b/example/examples/general/grid/grid.gui deleted file mode 100644 index e79a591..0000000 --- a/example/examples/general/grid/grid.gui +++ /dev/null @@ -1,2058 +0,0 @@ -script: "/example/examples/general/grid/grid.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 415.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: 1750.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: "grid_page_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -81.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 700.0 - y: 200.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "Tap on node for remove\n" - "Long tap on node for remove without node shift" - font: "game" - id: "text_grid_hint" - 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: "grid_page_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 -} -nodes { - position { - x: 0.0 - y: 109.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: "info_grid_static" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_page_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_AUTO -} -nodes { - position { - x: 0.0 - y: -354.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: 500.0 - y: 400.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 1.0 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_nodes_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_static" - layer: "" - 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: 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: 500.0 - y: 400.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: "kenney/empty" - id: "grid_nodes" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "grid_nodes_view" - 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: -80.0 - y: -304.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_add" - parent: "info_grid_static" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add" - font: "game" - id: "button_add/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 80.0 - y: -304.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_clear" - parent: "info_grid_static" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_clear/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_clear" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Clear" - font: "game" - id: "button_clear/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_clear/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -160.0 - y: -394.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: 80.0 - y: 80.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: "grid_nodes_prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_static" - 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: 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.5 - y: 1.5 - 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: "grid_nodes_dot" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_nodes_prefab" - 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: 1.0 - y: 2.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: 50.0 - y: 50.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: "X" - font: "game" - id: "grid_nodes_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: "grid_nodes_dot" - layer: "text" - 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 -} -nodes { - position { - x: 0.0 - y: -744.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 800.0 - y: 200.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "This Dynamic Grid have pivot on South\n" - "\n" - "Nodes closer to the bottom, like in message app" - font: "game" - id: "text_grid_hint1" - 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: "grid_page_content" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 0.7 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -826.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: "info_grid_dynamic" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_page_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_AUTO -} -nodes { - position { - x: 0.0 - y: -567.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: 300.0 - y: 500.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.9019608 - y: 0.9019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_dynamic_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_S - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_dynamic" - layer: "" - 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: 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: 300.0 - y: 500.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: "grid_dynamic_nodes" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_S - adjust_mode: ADJUST_MODE_FIT - parent: "grid_dynamic_view" - 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: -111.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: 250.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_red" - id: "grid_dynamic_prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_dynamic" - layer: "image" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.0 - w: 20.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: -60.0 - y: -31.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: 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_add_start_dynamic" - parent: "info_grid_dynamic" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_start_dynamic/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_start_dynamic" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add First" - font: "game" - id: "button_add_start_dynamic/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_start_dynamic/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 60.0 - y: -31.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: 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_add_end_dynamic" - parent: "info_grid_dynamic" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_end_dynamic/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_end_dynamic" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add Last" - font: "game" - id: "button_add_end_dynamic/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_end_dynamic/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -1474.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 700.0 - y: 200.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "Horizontal Dynamic Grid Example\n" - "Pivot point at West" - font: "game" - id: "text_grid_hint2" - 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: "grid_page_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 -} -nodes { - position { - x: 0.0 - y: -1528.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: "info_grid_dynamic_hor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_page_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_AUTO -} -nodes { - position { - x: -250.0 - y: -126.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: 500.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.9019608 - y: 0.9019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_dynamic_hor_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_dynamic_hor" - layer: "" - 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: 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: 500.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.8 - y: 0.4 - z: 0.2 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/empty" - id: "grid_dynamic_hor_nodes" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "grid_dynamic_hor_view" - 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: -135.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: 100.0 - y: 80.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/button_red" - id: "grid_dynamic_hor_prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_grid_dynamic_hor" - layer: "" - inherit_alpha: true - slice9 { - x: 20.0 - y: 20.0 - z: 20.0 - w: 20.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: -60.0 - y: -37.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: 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_add_start_dynamic_hor" - parent: "info_grid_dynamic_hor" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_start_dynamic_hor/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_start_dynamic_hor" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add First" - font: "game" - id: "button_add_start_dynamic_hor/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_start_dynamic_hor/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 60.0 - y: -37.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: 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_add_end_dynamic_hor" - parent: "info_grid_dynamic_hor" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_end_dynamic_hor/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_end_dynamic_hor" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add Last" - font: "game" - id: "button_add_end_dynamic_hor/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_end_dynamic_hor/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/grid/grid.gui_script b/example/examples/general/grid/grid.gui_script deleted file mode 100644 index 606cc39..0000000 --- a/example/examples/general/grid/grid.gui_script +++ /dev/null @@ -1,224 +0,0 @@ -local druid = require("druid.druid") -local const = require("druid.const") - -local function simple_animate(node, pos) - gui.animate(node, "position", pos, gui.EASING_OUTSINE, 0.2) -end - - -local function remove_node(self, button, no_shift) - gui.delete_node(button.node) - - self.druid:remove(button) - local index = self.grid_static_grid:get_index_by_node(button.node) - self.grid_static_grid:remove(index, no_shift and const.SHIFT.NO_SHIFT or const.SHIFT.RIGHT) - for i = 1, #self.grid_node_buttons do - if self.grid_node_buttons[i] == button then - table.remove(self.grid_node_buttons, i) - break - end - end -end - - -local function add_node(self, index) - local prefab = gui.get_node("grid_nodes_prefab") - local cloned = gui.clone_tree(prefab) - gui.set_enabled(cloned["grid_nodes_prefab"], true) - - local button = self.druid:new_button(cloned["grid_nodes_prefab"], function(_, params, button) - remove_node(self, button) - end) - button.on_long_click:subscribe(function() - remove_node(self, button, true) - end) - button:set_click_zone(self.grid_static_scroll.view_node) - - table.insert(self.grid_node_buttons, button) - - self.grid_static_grid:add(cloned["grid_nodes_prefab"], index) -end - - -local function clear_nodes(self) - local nodes = self.grid_static_grid.nodes - for i, node in pairs(nodes) do - gui.delete_node(node) - end - - for i = 1, #self.grid_node_buttons do - self.druid:remove(self.grid_node_buttons[i]) - end - self.grid_node_buttons = {} - - self.grid_static_grid:clear() -end - - -local function init_static_grid(self) - self.grid_node_buttons = {} - gui.set_enabled(gui.get_node("grid_nodes_prefab"), false) - - for i = 1, 15 do - add_node(self, i) - end - - self.druid:new_button("button_add/button", function() - add_node(self) - end) - self.druid:new_button("button_clear/button", function() - clear_nodes(self) - end) -end - - -local function remove_dynamic_node(self, button, shift_policy) - gui.delete_node(button.node) - - self.druid:remove(button) - local index = self.grid_dynamic_grid:get_index_by_node(button.node) - self.grid_dynamic_grid:remove(index, shift_policy) - for i = 1, #self.dynamic_node_buttons do - if self.dynamic_node_buttons[i] == button then - table.remove(self.dynamic_node_buttons, i) - break - end - end -end - - -local function add_node_dynamic(self, index, is_shift_left) - local node = gui.clone(self.prefab_dynamic) - gui.set_color(node, vmath.vector4(math.random() * 0.2 + 0.8)) - gui.set_enabled(node, true) - gui.set_size(node, vmath.vector3(250, math.random(60, 150), 0)) - self.grid_dynamic_grid:add(node, index, is_shift_left) - - local button = self.druid:new_button(node, function(_, params, button) - remove_dynamic_node(self, button) - end) - button.on_long_click:subscribe(function() - remove_dynamic_node(self, button, const.SHIFT.LEFT) - end) - button:set_click_zone(self.grid_dynamic_scroll.view_node) - table.insert(self.dynamic_node_buttons, button) -end - - -local function remove_dynamic_hor_node(self, button, shift_policy) - gui.delete_node(button.node) - - self.druid:remove(button) - local index = self.grid_dynamic_hor_grid:get_index_by_node(button.node) - self.grid_dynamic_hor_grid:remove(index, shift_policy) - for i = 1, #self.dynamic_node_hor_buttons do - if self.dynamic_node_hor_buttons[i] == button then - table.remove(self.dynamic_node_hor_buttons, i) - break - end - end -end - - -local function add_node_dynamic_hor(self, index) - local node = gui.clone(self.prefab_hor_dynamic) - gui.set_color(node, vmath.vector4(math.random() * 0.2 + 0.8)) - gui.set_enabled(node, true) - gui.set_size(node, vmath.vector3(80 + math.random(0, 80), 80, 0)) - - local button = self.druid:new_button(node, function(_, params, button) - remove_dynamic_hor_node(self, button) - end) - button.on_long_click:subscribe(function() - remove_dynamic_hor_node(self, button, const.SHIFT.LEFT) - end) - button:set_click_zone(self.grid_dynamic_hor_scroll.view_node) - - self.grid_dynamic_hor_grid:add(node, index) - table.insert(self.dynamic_node_hor_buttons, button) -end - - -local function init_dynamic_grid(self) - -- Vertical horizontal grid - self.dynamic_node_buttons = {} - self.dynamic_node_hor_buttons = {} - - self.prefab_dynamic = gui.get_node("grid_dynamic_prefab") - gui.set_enabled(self.prefab_dynamic, false) - - for i = 1, 10 do - add_node_dynamic(self, i) - end - self.druid:new_button("button_add_start_dynamic/button", function() - local start_index = self.grid_dynamic_grid.first_index or 1 - add_node_dynamic(self, start_index) - end) - self.druid:new_button("button_add_end_dynamic/button", function() - add_node_dynamic(self) - end) - - -- Horizontal dynamic grid - self.prefab_hor_dynamic = gui.get_node("grid_dynamic_hor_prefab") - gui.set_enabled(self.prefab_hor_dynamic, false) - - for i = 1, 10 do - add_node_dynamic_hor(self, i) - end - - self.druid:new_button("button_add_start_dynamic_hor/button", function() - local start_index = self.grid_dynamic_hor_grid.first_index or 1 - add_node_dynamic_hor(self, start_index) - end) - self.druid:new_button("button_add_end_dynamic_hor/button", function() - add_node_dynamic_hor(self) - end) -end - - -function init(self) - self.druid = druid.new(self) - - self.druid:new_scroll("root", "grid_page_content") - - self.grid_static_grid = self.druid:new_static_grid("grid_nodes", "grid_nodes_prefab", 5) - :set_position_function(simple_animate) - self.grid_static_scroll = self.druid:new_scroll("grid_nodes_view", "grid_nodes") - :set_horizontal_scroll(false) - :bind_grid(self.grid_static_grid) - - self.grid_dynamic_grid = self.druid:new_dynamic_grid("grid_dynamic_nodes") - :set_position_function(simple_animate) - self.grid_dynamic_scroll = self.druid:new_scroll("grid_dynamic_view", "grid_dynamic_nodes") - :set_horizontal_scroll(false) - :bind_grid(self.grid_dynamic_grid) - - self.grid_dynamic_hor_grid = self.druid:new_dynamic_grid("grid_dynamic_hor_nodes") - :set_position_function(simple_animate) - self.grid_dynamic_hor_scroll = self.druid:new_scroll("grid_dynamic_hor_view", "grid_dynamic_hor_nodes") - :set_vertical_scroll(false) - :bind_grid(self.grid_dynamic_hor_grid) - - init_static_grid(self) - init_dynamic_grid(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/hotkey/hotkey.collection b/example/examples/general/hotkey/hotkey.collection deleted file mode 100644 index 0b41685..0000000 --- a/example/examples/general/hotkey/hotkey.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "hotkey" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"template\"\n" - " component: \"/example/examples/general/hotkey/hotkey.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/hotkey/hotkey.gui b/example/examples/general/hotkey/hotkey.gui deleted file mode 100644 index 34d0b7c..0000000 --- a/example/examples/general/hotkey/hotkey.gui +++ /dev/null @@ -1,207 +0,0 @@ -script: "/example/examples/general/hotkey/hotkey.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -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: 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: "Use Ctrl + G or Cmd + G to tirgger the hotkey" - font: "game" - id: "text_hint" - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: -140.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: 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: "Counter: 0" - font: "game" - id: "text_counter" - 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: "root" - 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 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/hotkey/hotkey.gui_script b/example/examples/general/hotkey/hotkey.gui_script deleted file mode 100644 index 2b920d6..0000000 --- a/example/examples/general/hotkey/hotkey.gui_script +++ /dev/null @@ -1,38 +0,0 @@ -local hotkey = require("druid.extended.hotkey") -local druid = require("druid.druid") - - -local function on_hotkey(self) - self.counter = self.counter + 1 - gui.set_text(gui.get_node("text_counter"), "Counter: " .. self.counter) -end - - -function init(self) - druid.register("hotkey", hotkey) - self.druid = druid.new(self) - self.counter = 0 - - self.hotkey = self.druid:new_hotkey({ "key_lsuper", "key_g" }, on_hotkey) - self.hotkey:add_hotkey({ "key_lctrl", "key_g"}) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/hover/hover.collection b/example/examples/general/hover/hover.collection deleted file mode 100644 index e7a70b0..0000000 --- a/example/examples/general/hover/hover.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "hover" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"hover\"\n" - " component: \"/example/examples/general/hover/hover.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/hover/hover.gui b/example/examples/general/hover/hover.gui deleted file mode 100644 index fa7239a..0000000 --- a/example/examples/general/hover/hover.gui +++ /dev/null @@ -1,249 +0,0 @@ -script: "/example/examples/general/hover/hover.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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: 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: 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: "hover_node" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 200.0 - y: 80.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/button_blue" - id: "hover_node/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "hover_node" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Hover me!" - font: "game" - id: "hover_node/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "hover_node/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/hover/hover.gui_script b/example/examples/general/hover/hover.gui_script deleted file mode 100644 index 6b18a7e..0000000 --- a/example/examples/general/hover/hover.gui_script +++ /dev/null @@ -1,41 +0,0 @@ -local druid = require("druid.druid") - - -function init(self) - self.druid = druid.new(self) - - local hover = self.druid:new_hover("hover_node/button") - - -- Usual hover respect to touch action on mobiles. On desktop we will use mouse hover - hover.on_mouse_hover:subscribe(function(_, is_hover, hover_instance) - print("is hover", is_hover) - local node = hover_instance.node - gui.animate(node, gui.PROP_SCALE, is_hover and vmath.vector3(1.2) or vmath.vector3(1), gui.EASING_OUTSINE, 0.2) - end) - - local button = self.druid:new_button("hover_node/button", function() - print("Button clicked") - end) - -- Remove all animations from button, including button hover animations - button:set_style() -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/input/input.collection b/example/examples/general/input/input.collection deleted file mode 100644 index d2ab48a..0000000 --- a/example/examples/general/input/input.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "input" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"overview\"\n" - " component: \"/example/examples/general/input/input.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/input/input.gui b/example/examples/general/input/input.gui deleted file mode 100644 index 7878dba..0000000 --- a/example/examples/general/input/input.gui +++ /dev/null @@ -1,1022 +0,0 @@ -script: "/example/examples/general/input/input.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -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: 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: "input_usual" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -250.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: 300.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: "Usual input:" - font: "game" - id: "input_usual_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "input_usual" - 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: 130.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: 190.0 - y: 45.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/progress_back" - id: "input_box_usual" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "input_usual" - 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: 0.7 - y: 0.7 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 50.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: "Initial text" - font: "game" - id: "input_text_usual" - 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: "input_box_usual" - 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: 100.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: "input_password" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -250.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: 300.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: "Password:" - font: "game" - id: "input_password_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "input_password" - 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: 130.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: 190.0 - y: 45.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/progress_back" - id: "input_box_password" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "input_password" - 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: 0.7 - y: 0.7 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 50.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: "" - font: "game" - id: "input_text_password" - 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: "input_box_password" - 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: 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: "input_email" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -250.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: 300.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: "Email:" - font: "game" - id: "input_email_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "input_email" - 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: 130.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: 190.0 - y: 45.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/progress_back" - id: "input_box_email" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "input_email" - 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: 0.7 - y: 0.7 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 50.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: "" - font: "game" - id: "input_text_email" - 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: "input_box_email" - 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: -100.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: "input_numpad" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -250.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: 300.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: "Numpad:" - font: "game" - id: "input_numbad_header" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "input_numpad" - 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: 130.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: 190.0 - y: 45.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/progress_back" - id: "input_box_numpad" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "input_numpad" - 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: 0.7 - y: 0.7 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 50.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: "" - font: "game" - id: "input_text_numpad" - 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: "input_box_numpad" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/input/input.gui_script b/example/examples/general/input/input.gui_script deleted file mode 100644 index ff4501b..0000000 --- a/example/examples/general/input/input.gui_script +++ /dev/null @@ -1,31 +0,0 @@ -local druid = require("druid.druid") - -function init(self) - self.druid = druid.new(self) - - self.druid:new_input("input_box_usual", "input_text_usual") - self.druid:new_input("input_box_password", "input_text_password", gui.KEYBOARD_TYPE_PASSWORD) - self.druid:new_input("input_box_email", "input_text_email", gui.KEYBOARD_TYPE_EMAIL) - self.druid:new_input("input_box_numpad", "input_text_numpad", gui.KEYBOARD_TYPE_NUMBER_PAD) - :set_allowed_characters("[%d,.]") -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/layout/layout.collection b/example/examples/general/layout/layout.collection deleted file mode 100644 index 3269796..0000000 --- a/example/examples/general/layout/layout.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "layout" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"layout\"\n" - " component: \"/example/examples/general/layout/layout.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/layout/layout.gui b/example/examples/general/layout/layout.gui deleted file mode 100644 index 385aaff..0000000 --- a/example/examples/general/layout/layout.gui +++ /dev/null @@ -1,679 +0,0 @@ -script: "/example/examples/general/layout/layout.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - 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 -} -nodes { - position { - x: 0.0 - y: 250.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: 300.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: "kenney/slider_move" - id: "node_stretch" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 17.0 - y: 17.0 - z: 17.0 - w: 17.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 -} -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.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 450.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: "Regular Stretch Mode" - font: "game" - id: "text_regular" - 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: "node_stretch" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 100.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: 300.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: "kenney/slider_move" - id: "node_layout_stretch" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 17.0 - y: 17.0 - z: 17.0 - w: 17.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 -} -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.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 450.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: "Layout Stretch" - font: "game" - id: "text_layout_stretch" - 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: "node_layout_stretch" - 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 - custom_type: 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: 300.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: "kenney/slider_move" - id: "node_layout_stretch_x" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 17.0 - y: 17.0 - z: 17.0 - w: 17.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 -} -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.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 450.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: "Layout Stretch by X" - font: "game" - id: "text_layout_stretch1" - 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: "node_layout_stretch_x" - 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 - custom_type: 0 -} -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: 300.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: "kenney/slider_move" - id: "node_layout_stretch_y" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 17.0 - y: 17.0 - z: 17.0 - w: 17.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 -} -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.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 450.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: "Layout Stretch by Y" - font: "game" - id: "text_layout_stretch2" - 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: "node_layout_stretch_y" - 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 - custom_type: 0 -} -nodes { - position { - x: -250.0 - y: -350.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: 300.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: "kenney/slider_move" - id: "node_layout_stretch_y_anchor_w" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 17.0 - y: 17.0 - z: 17.0 - w: 17.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 -} -nodes { - position { - x: 150.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.65 - y: 0.65 - z: 1.0 - w: 1.0 - } - size { - x: 450.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: "Layout Stretch by X Anchor W" - font: "game" - id: "text_layout_stretch3" - 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: "node_layout_stretch_y_anchor_w" - 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 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/layout/layout.gui_script b/example/examples/general/layout/layout.gui_script deleted file mode 100644 index a5adf93..0000000 --- a/example/examples/general/layout/layout.gui_script +++ /dev/null @@ -1,33 +0,0 @@ -local druid = require("druid.druid") -local const_druid = require("druid.const") -local layout = require("druid.extended.layout") - -function init(self) - druid.register("layout", layout) - self.druid = druid.new(self) - - self.druid:new_layout("node_layout_stretch", const_druid.LAYOUT_MODE.STRETCH) - self.druid:new_layout("node_layout_stretch_x", const_druid.LAYOUT_MODE.STRETCH_X) - self.druid:new_layout("node_layout_stretch_y", const_druid.LAYOUT_MODE.STRETCH_Y) - self.druid:new_layout("node_layout_stretch_y_anchor_w", const_druid.LAYOUT_MODE.STRETCH_X) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/overview/overview.collection b/example/examples/general/overview/overview.collection deleted file mode 100644 index 4776ccb..0000000 --- a/example/examples/general/overview/overview.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "overview" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"overview\"\n" - " component: \"/example/examples/general/overview/overview.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/overview/overview.gui b/example/examples/general/overview/overview.gui deleted file mode 100644 index 2d51076..0000000 --- a/example/examples/general/overview/overview.gui +++ /dev/null @@ -1,3478 +0,0 @@ -script: "/example/examples/general/overview/overview.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 16.0 - y: 4.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: "anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "section_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 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: "ui_section_button" - font: "game" - id: "text_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_button" - 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: 6.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_TEMPLATE - id: "button_template" - parent: "section_button" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_template/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_template" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Tap me!" - font: "game" - id: "button_template/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_template/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 156.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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_green" - id: "button_simple" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "section_button" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 5.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: 5.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: 150.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: "Change Lang" - font: "game" - id: "text_button_lang" - 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: "button_simple" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 0.8 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: 230.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: "section_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 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: "ui_section_text" - font: "game" - id: "text_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_text" - 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: 150.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: 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: "Translated" - font: "game" - id: "text_translated" - 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: "section_text" - 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: 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: 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: "Simple" - font: "game" - id: "text_simple" - 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: "section_text" - 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: 140.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: "section_timer" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 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: "ui_section_timer" - font: "game" - id: "text_timer" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_timer" - 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: 220.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: 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: "12:20" - font: "game" - id: "timer" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - 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: "section_timer" - 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: 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: "section_progress" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 300.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: "ui_section_progress" - font: "game" - id: "text_progress" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_progress" - 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: 30.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: 190.0 - y: 45.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/progress_back" - id: "progress_back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "section_progress" - 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: 190.0 - y: 45.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/progress_fill_yellow" - id: "progress_fill" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "progress_back" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 0.0 - z: 10.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: 95.0 - y: 2.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: "15%" - font: "game" - id: "text_progress_amount" - 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: "progress_back" - 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: -40.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: "section_slider" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 300.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: "ui_section_slider" - font: "game" - id: "text_slider" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_slider" - 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: 130.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: 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" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "section_slider" - 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_pin" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "slider_back" - 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: 20.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: "text_progress_slider" - 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" - 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: -130.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: "section_radio" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 300.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: "ui_section_radio" - font: "game" - id: "text_radio" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_radio" - 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: 60.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: "radio_group" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "section_radio" - 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: 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: "radio1" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false -} -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: 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/check_back_circle" - id: "radio1/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio1" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio1/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio1/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 70.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_TEMPLATE - id: "radio2" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false -} -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: 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/check_back_circle" - id: "radio2/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio2" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio2/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio2/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 140.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_TEMPLATE - id: "radio3" - parent: "radio_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/radio.gui" - template_node_child: false -} -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: 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/check_back_circle" - id: "radio3/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio3" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: -0.5 - y: 0.5 - 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: 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: "radio3/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "radio3/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 0.0 - y: -220.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: "section_checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 300.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: "ui_section_checkbox" - font: "game" - id: "text_checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_checkbox" - 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: 60.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: "checkbox_group" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "section_checkbox" - 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: 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: "checkbox1" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false -} -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: 38.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/check_back_square" - id: "checkbox1/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox1" - 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: true - 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: 21.0 - y: 20.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/checkmark" - id: "checkbox1/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox1/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 70.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_TEMPLATE - id: "checkbox2" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false -} -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: 38.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/check_back_square" - id: "checkbox2/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox2" - 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: true - 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: 21.0 - y: 20.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/checkmark" - id: "checkbox2/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox2/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 140.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_TEMPLATE - id: "checkbox3" - parent: "checkbox_group" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/checkbox.gui" - template_node_child: false -} -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: 38.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/check_back_square" - id: "checkbox3/back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox3" - 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: true - 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: 21.0 - y: 20.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/checkmark" - id: "checkbox3/check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "checkbox3/back" - 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: true - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: 0.0 - y: -310.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: "section_input" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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: -250.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: 300.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: "ui_section_input" - font: "game" - id: "text_input" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "section_input" - 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: 130.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: 190.0 - y: 45.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/progress_back" - id: "input_box" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "section_input" - 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: 0.7 - y: 0.7 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 50.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: "Hello" - font: "game" - id: "input_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: "input_box" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -layouts { - name: "Landscape" - nodes { - position { - x: -50.0 - y: 60.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: 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: "section_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: -50.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.75 - y: 0.75 - 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: "section_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: -50.0 - y: -120.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: 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: "section_timer" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: -50.0 - y: -210.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: 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: "section_progress" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: 350.0 - y: 60.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: 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: "section_slider" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: 350.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.75 - y: 0.75 - 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: "section_radio" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: 350.0 - y: -120.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: 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: "section_checkbox" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } - nodes { - position { - x: 350.0 - y: -210.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: 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: "section_input" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "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 - overridden_fields: 1 - overridden_fields: 3 - template_node_child: false - size_mode: SIZE_MODE_AUTO - } -} -layouts { - name: "Portrait" -} -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/overview/overview.gui_script b/example/examples/general/overview/overview.gui_script deleted file mode 100644 index f0ded90..0000000 --- a/example/examples/general/overview/overview.gui_script +++ /dev/null @@ -1,117 +0,0 @@ ---- @type druid -local druid = require("druid.druid") -local lang = require("example.lang") - -local function empty_callback(self, param) - print("Empty callback. Param", param) -end - - -local function random_progress(progress, text) - local rnd = math.random() - - gui.set_text(text, math.ceil(rnd * 100) .. "%") - progress:to(rnd) -end - - -local function setup_button(self) - local b = self.druid:new_button("button_simple", lang.toggle_locale, "button_param") - self.druid:new_button("button_template/button", function() - print(b:is_enabled()) - b:set_enabled(not b:is_enabled()) - end, "button_param") -end - - -local function setup_texts(self) - self.druid:new_lang_text("text_button") - self.druid:new_lang_text("text_text") - self.druid:new_lang_text("text_timer") - self.druid:new_lang_text("text_progress") - self.druid:new_lang_text("text_slider") - self.druid:new_lang_text("text_radio") - self.druid:new_lang_text("text_checkbox") - self.druid:new_lang_text("text_input") - - self.druid:new_lang_text("text_translated", "ui_text_example") - self.druid:new_lang_text("text_button_lang", "ui_text_change_lang") - self.druid:new_text("text_simple", "Simple") -end - - -local function setup_progress(self) - self.progress = self.druid:new_progress("progress_fill", "x", 0.4) - random_progress(self.progress, gui.get_node("text_progress_amount")) - timer.delay(2, true, function() - random_progress(self.progress, gui.get_node("text_progress_amount")) - end) -end - - -local function setup_slider(self) - local slider = self.druid:new_slider("slider_pin", vmath.vector3(95, 0, 0), function(_, value) - gui.set_text(gui.get_node("text_progress_slider"), math.ceil(value * 100) .. "%") - end) - - slider:set(0.2) -end - - -local function setup_checkbox(self) - local radio_group = self.druid:new_radio_group( - {"radio1/check", "radio2/check", "radio3/check"}, - nil, - {"radio1/back", "radio2/back", "radio3/back"}) - - local checkbox_group = self.druid:new_checkbox_group( - {"checkbox1/check", "checkbox2/check", "checkbox3/check"}, - nil, - {"checkbox1/back", "checkbox2/back", "checkbox3/back"}) - - radio_group:set_state(2, true) - checkbox_group:set_state({true, false, true}, true) -end - - -local function setup_timer(self) - self.timer = self.druid:new_timer("timer", 300, 0, empty_callback) -end - - -local function setup_input(self) - local input = self.druid:new_input("input_box", "input_text") - input:set_text("hello!") -end - - -function init(self) - self.druid = druid.new(self) - setup_texts(self) - setup_button(self) - setup_progress(self) - setup_timer(self) - setup_checkbox(self) - setup_slider(self) - setup_input(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/progress_bar/progress_bar.collection b/example/examples/general/progress_bar/progress_bar.collection deleted file mode 100644 index 022f807..0000000 --- a/example/examples/general/progress_bar/progress_bar.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "progress_bar" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"progress_bar\"\n" - " component: \"/example/examples/general/progress_bar/progress_bar.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/progress_bar/progress_bar.gui b/example/examples/general/progress_bar/progress_bar.gui deleted file mode 100644 index 24c3154..0000000 --- a/example/examples/general/progress_bar/progress_bar.gui +++ /dev/null @@ -1,981 +0,0 @@ -script: "/example/examples/general/progress_bar/progress_bar.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -150.0 - y: 100.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: 300.0 - y: 45.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/progress_back" - id: "progress_back_x" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 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: 300.0 - y: 45.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/progress_fill_yellow" - id: "progress_fill_x" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "progress_back_x" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 0.0 - z: 10.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 -} -nodes { - position { - x: 150.0 - y: 2.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: "15%" - font: "game" - id: "text_progress_amount_x" - 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: "progress_back_x" - 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 - custom_type: 0 -} -nodes { - position { - x: -195.0 - y: 123.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: 45.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/progress_back" - id: "progress_back_y" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "image" - inherit_alpha: true - slice9 { - x: 0.0 - y: 10.0 - z: 0.0 - w: 10.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 -} -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: 45.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/progress_fill_yellow" - id: "progress_fill_y" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "progress_back_y" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 10.0 - z: 10.0 - w: 10.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 -} -nodes { - position { - x: 0.0 - y: -150.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 90.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: "15%" - font: "game" - id: "text_progress_amount_y" - 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: "progress_back_y" - 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 - custom_type: 0 -} -nodes { - position { - x: -150.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: 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_set_0" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_set_0/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_set_0" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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 -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Set 0" - font: "game" - id: "button_set_0/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_set_0/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -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: 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_add_25" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add_25/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add_25" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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 -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add 25" - font: "game" - id: "button_add_25/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add_25/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 150.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: 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_set_100" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false - custom_type: 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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_set_100/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_set_100" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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 -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Set 100" - font: "game" - id: "button_set_100/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_set_100/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 40.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - z: 1.0 - w: 1.0 - } - size { - x: 500.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: "Last step triggered: none" - font: "game" - id: "text_x_hint" - 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: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/progress_bar/progress_bar.gui_script b/example/examples/general/progress_bar/progress_bar.gui_script deleted file mode 100644 index 1026d58..0000000 --- a/example/examples/general/progress_bar/progress_bar.gui_script +++ /dev/null @@ -1,66 +0,0 @@ -local druid = require("druid.druid") - - -local function on_button_set_0(self) - self.progress_x:to(0) - self.progress_y:set_to(0) -end - - -local function on_button_add_25(self) - self.progress_x:to(self.progress_x:get() + 0.25) - self.progress_y:set_to(self.progress_y:get() + 0.25) -end - - -local function on_button_set_100(self) - self.progress_x:to(1) - self.progress_y:set_to(1) -end - - -local function on_progress_step(self, value) - gui.set_text(gui.get_node("text_x_hint"), "Last step triggered: " .. value) -end - - -function init(self) - self.druid = druid.new(self) - - self.progress_x = self.druid:new_progress("progress_fill_x", "x", 0.4) - self.progress_x:set_steps({0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1}, on_progress_step) - self.progress_x.on_change:subscribe(function(_, value) - value = math.floor(value * 100) - gui.set_text(gui.get_node("text_progress_amount_x"), value .. "%") - end) - - self.progress_y = self.druid:new_progress("progress_fill_y", "y", 0.6) - self.progress_y.on_change:subscribe(function(_, value) - value = math.floor(value * 100) - gui.set_text(gui.get_node("text_progress_amount_y"), value .. "%") - end) - - self.druid:new_button("button_set_0/button", on_button_set_0) - self.druid:new_button("button_add_25/button", on_button_add_25) - self.druid:new_button("button_set_100/button", on_button_set_100) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/scroll/scroll.collection b/example/examples/general/scroll/scroll.collection deleted file mode 100644 index 691e039..0000000 --- a/example/examples/general/scroll/scroll.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "scroll" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"scroll\"\n" - " component: \"/example/examples/general/scroll/scroll.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/scroll/scroll.gui b/example/examples/general/scroll/scroll.gui deleted file mode 100644 index 886e989..0000000 --- a/example/examples/general/scroll/scroll.gui +++ /dev/null @@ -1,2236 +0,0 @@ -script: "/example/examples/general/scroll/scroll.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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_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: 415.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: 1900.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: "scroll_page_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 0.0 - y: -173.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: "simple_scroll_input" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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.5019608 - y: 0.4 - z: 0.8 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "simple_scroll_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "simple_scroll_input" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: -489.0 - y: 91.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: "Hello!" - font: "game" - id: "content1" - 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: "simple_scroll_content" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 1.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 220.0 - y: 71.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: "Hello!" - font: "game" - id: "content4" - 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: "simple_scroll_content" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 1.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: -128.0 - y: -54.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: "Hello!" - font: "game" - id: "content2" - 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: "simple_scroll_content" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 1.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 466.0 - y: -73.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: "Hello!" - font: "game" - id: "content3" - 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: "simple_scroll_content" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 1.0 - shadow_alpha: 1.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: -503.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: "scroll_with_grid_size" - 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_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: true - material: "" -} -nodes { - position { - x: -300.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: 600.0 - y: 300.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.6 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_NW - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_grid_size" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 0.0 - y: -653.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: 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: "grid_scroll_slider" - 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: 10.0 - y: 0.0 - z: 10.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: true - material: "" -} -nodes { - position { - x: -287.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: 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: "kenney/slider_move" - id: "grid_scroll_pin" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_scroll_slider" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: -180.0 - y: -423.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: 240.0 - y: 150.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: "grid_prefab" - 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_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: 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: 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: "kenney/button_blue" - id: "grid_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "grid_prefab" - layer: "image" - inherit_alpha: true - slice9 { - x: 10.0 - y: 10.0 - z: 10.0 - w: 10.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: true - material: "" -} -nodes { - position { - x: 0.0 - y: 5.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: 180.0 - y: 50.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: "Just text" - font: "game" - id: "grid_prefab_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - outline { - x: 0.2 - y: 0.3019608 - z: 0.7019608 - 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: "grid_button" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 0.0 - y: -833.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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - 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: 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 0.0 - y: -1173.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: "scroll_with_points" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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: 2400.0 - y: 300.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.9019608 - y: 0.5019608 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "scroll_with_points_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_points" - 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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -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: 500.0 - y: 250.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.9019608 - y: 0.7019608 - z: 0.9019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "intereset_point_1" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_points_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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 900.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: 500.0 - y: 250.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "intereset_point_2" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_points_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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 1500.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: 500.0 - y: 250.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.9019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "intereset_point_3" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_points_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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 2100.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: 500.0 - y: 250.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.6 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "intereset_point_4" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_with_points_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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: 0.0 - y: -1623.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: 550.0 - y: 500.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.5019608 - y: 0.2 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "scroll_smaller_view" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_page_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 - custom_type: 0 - enabled: true - visible: true - material: "" -} -nodes { - position { - x: -197.0 - y: 223.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: "View" - font: "game" - id: "scroll_smaller_view_hint" - 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: "scroll_smaller_view" - 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: 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: 200.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.4 - y: 0.3019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "scroll_smaller_content" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "scroll_smaller_view" - 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_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: 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: "Content" - font: "game" - id: "scroll_smaller_content_hint" - 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: "scroll_smaller_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: "" -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/scroll/scroll.gui_script b/example/examples/general/scroll/scroll.gui_script deleted file mode 100644 index f9a5468..0000000 --- a/example/examples/general/scroll/scroll.gui_script +++ /dev/null @@ -1,90 +0,0 @@ -local druid = require("druid.druid") - - -local function init_scroll_with_grid(self) - local prefab = gui.get_node("grid_prefab") - - local grid_scroll = self.druid:new_scroll("scroll_with_grid_size", "grid_content") - local grid = self.druid:new_static_grid("grid_content", "grid_prefab", 20) - - for i = 1, 40 do - local clone_prefab = gui.clone_tree(prefab) - - grid:add(clone_prefab["grid_prefab"]) - gui.set_text(clone_prefab["grid_prefab_text"], "Node " .. i) - - local button = self.druid:new_button(clone_prefab["grid_button"], function() - local position = gui.get_position(clone_prefab["grid_prefab"]) - grid_scroll:scroll_to(position) - end) - end - - gui.set_enabled(prefab, false) - - grid_scroll:set_size(grid:get_size()) - - local scroll_slider = self.druid:new_slider("grid_scroll_pin", vmath.vector3(287, 0, 0), function(_, value) - grid_scroll:scroll_to_percent(vmath.vector3(value, 0, 0), true) - end) - - grid_scroll.on_scroll:subscribe(function(_, point) - scroll_slider:set(grid_scroll:get_percent().x, true) - end) -end - - -function init(self) - self.druid = druid.new(self) - - -- Usual scroll for whole page - self.druid:new_scroll("root", "scroll_page_content") - - -- Simple scroll with no adjust - self.druid:new_scroll("simple_scroll_input", "simple_scroll_content") - - -- Scroll with grid example - init_scroll_with_grid(self) - - -- Scroll contain children scrolls: - -- Parent scroll - self.druid:new_scroll("children_scroll", "children_scroll_content") - -- Childre scrolls - self.druid:new_scroll("children_scroll_1", "children_scroll_content_1") - self.druid:new_scroll("children_scroll_2", "children_scroll_content_2") - self.druid:new_scroll("children_scroll_3", "children_scroll_content_3") - - -- Content with less size than view - local small_scroll = self.druid:new_scroll("scroll_smaller_view", "scroll_smaller_content") --[[@as druid.scroll]] - small_scroll.style.SMALL_CONTENT_SCROLL = true - small_scroll:set_extra_stretch_size(0) -- it also update scroll size due the change of SMALL_CONTENT_SCROLL - small_scroll:set_inert(false) - - -- Scroll with points of interests - self.druid:new_scroll("scroll_with_points", "scroll_with_points_content") - :set_points({ - vmath.vector3(300, 0, 0), - vmath.vector3(900, 0, 0), - vmath.vector3(1500, 0, 0), - vmath.vector3(2100, 0, 0), - }) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/sliders/sliders.collection b/example/examples/general/sliders/sliders.collection deleted file mode 100644 index 9e5b59d..0000000 --- a/example/examples/general/sliders/sliders.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "sliders" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"sliders\"\n" - " component: \"/example/examples/general/sliders/sliders.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/sliders/sliders.gui b/example/examples/general/sliders/sliders.gui deleted file mode 100644 index 2f63476..0000000 --- a/example/examples/general/sliders/sliders.gui +++ /dev/null @@ -1,1215 +0,0 @@ -script: "/example/examples/general/sliders/sliders.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -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: "root" - 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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 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: 300.0 - y: 45.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_input" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "slider_back_simple" - 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 -} -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: "root" - 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 - custom_type: 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: 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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 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: 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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 0 -} -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 - custom_type: 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: 300.0 - y: 45.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_notched_input" - 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_MANUAL - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/sliders/sliders.gui_script b/example/examples/general/sliders/sliders.gui_script deleted file mode 100644 index bf196e3..0000000 --- a/example/examples/general/sliders/sliders.gui_script +++ /dev/null @@ -1,41 +0,0 @@ -local druid = require("druid.druid") - - -function init(self) - self.druid = druid.new(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) - slider:set_input_node("slider_input") - - 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) - slider_notched:set_input_node("slider_notched_input") -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/general/swipe/swipe.collection b/example/examples/general/swipe/swipe.collection deleted file mode 100644 index 12c832e..0000000 --- a/example/examples/general/swipe/swipe.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "general_swipe" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"swipe\"\n" - " component: \"/example/examples/general/swipe/swipe.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/general/swipe/swipe.gui b/example/examples/general/swipe/swipe.gui deleted file mode 100644 index 9b78d36..0000000 --- a/example/examples/general/swipe/swipe.gui +++ /dev/null @@ -1,327 +0,0 @@ -script: "/example/examples/general/swipe/swipe.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 225.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: 200.0 - y: 40.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: "Swipe:" - font: "game" - id: "text_header" - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: 155.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: 50.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: "Swipe:" - font: "game" - id: "text_value" - 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: "root" - 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 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: -78.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: 200.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: "swipe_node" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 -} -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: 50.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: "=swipe here=" - font: "game" - id: "text_swipe" - 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: "swipe_node" - 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 - custom_type: 0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/general/swipe/swipe.gui_script b/example/examples/general/swipe/swipe.gui_script deleted file mode 100644 index 508bafc..0000000 --- a/example/examples/general/swipe/swipe.gui_script +++ /dev/null @@ -1,37 +0,0 @@ -local druid = require("druid.druid") - -local Swipe = require("druid.extended.swipe") - - -local function on_swipe_callback(self, direction, distance, swipe_time) - self.text:set_to(direction) - print(direction, distance, swipe_time) -end - - -function init(self) - self.druid = druid.new(self) - - self.text = self.druid:new_text("text_value") - self.swipe = self.druid:new(Swipe, "swipe_node", on_swipe_callback) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/grid/grid_animations/grid_animations.collection b/example/examples/grid/grid_animations/grid_animations.collection deleted file mode 100644 index 76f1b4e..0000000 --- a/example/examples/grid/grid_animations/grid_animations.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "grid_animations" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"grid_animations\"\n" - " component: \"/example/examples/grid/grid_animations/grid_animations.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/grid/grid_animations/grid_animations.gui b/example/examples/grid/grid_animations/grid_animations.gui deleted file mode 100644 index b2d39c0..0000000 --- a/example/examples/grid/grid_animations/grid_animations.gui +++ /dev/null @@ -1,626 +0,0 @@ -script: "/example/examples/grid/grid_animations/grid_animations.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -100.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: 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_add" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_add/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_add" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Add\n" - "" - font: "game" - id: "button_add/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_add/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 100.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: 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_remove" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_remove/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_remove" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Remove\n" - "" - font: "game" - id: "button_remove/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_remove/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: 108.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: 200.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: "grid" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 80.0 - y: 110.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: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 80.0 - y: 110.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/button_green" - id: "prefab_icon" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefab" - layer: "" - inherit_alpha: true - slice9 { - x: 10.0 - y: 10.0 - z: 10.0 - w: 10.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: -2.0 - y: 8.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 1.5 - y: 1.5 - z: 1.0 - w: 1.0 - } - size { - x: 30.0 - y: 30.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.9019608 - z: 0.6 - w: 1.0 - } - type: TYPE_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "1" - font: "game" - id: "prefab_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: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "prefab_icon" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.5 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/grid/grid_animations/grid_animations.gui_script b/example/examples/grid/grid_animations/grid_animations.gui_script deleted file mode 100644 index a1b6e38..0000000 --- a/example/examples/grid/grid_animations/grid_animations.gui_script +++ /dev/null @@ -1,65 +0,0 @@ -local druid = require("druid.druid") - - -local function add_element(self) - -- Limit up to 10 nodes in this example - if #self.grid.nodes >= 10 then - return - end - - -- Make new element to insert into the grid - local nodes = gui.clone_tree(self.prefab) - gui.set_enabled(nodes["prefab"], true) - self.grid:add(nodes["prefab"]) - gui.set_text(nodes["prefab_text"], #self.grid.nodes) - - -- Animate new element after _grid:add_ - -- Note, what Grid component take care of node position, so we can't - -- animate position of the root node. We need insert one more anchor node to make - -- it possible. In this example it is "prefab_icon" - gui.animate(nodes["prefab_icon"], "position.y", 20, gui.EASING_OUTSINE, 0.4, 0, nil, gui.PLAYBACK_ONCE_BACKWARD) - gui.animate(nodes["prefab_icon"], "color.w", 0, gui.EASING_OUTSINE, 0.3, 0, nil, gui.PLAYBACK_ONCE_BACKWARD) -end - - -local function remove_element(self) - if #self.grid.nodes > 0 then - local root = self.grid:remove(#self.grid.nodes) - -- We should instant remove element from the grid, but node itself delete after the animation - gui.animate(root, "color.w", 0, gui.EASING_OUTSINE, 0.2, 0, function() - gui.delete_node(root) - end) - end -end - - -function init(self) - self.druid = druid.new(self) - self.grid = self.druid:new_static_grid("grid", "prefab", 5) - - self.prefab = gui.get_node("prefab") - gui.set_enabled(self.prefab, false) - - self.druid:new_button("button_add/button", add_element) - self.druid:new_button("button_remove/button", remove_element) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/grid/static_grid/static_grid.collection b/example/examples/grid/static_grid/static_grid.collection deleted file mode 100644 index 049e652..0000000 --- a/example/examples/grid/static_grid/static_grid.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "static_grid" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"static_grid\"\n" - " component: \"/example/examples/grid/static_grid/static_grid.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/grid/static_grid/static_grid.gui b/example/examples/grid/static_grid/static_grid.gui deleted file mode 100644 index c7f876f..0000000 --- a/example/examples/grid/static_grid/static_grid.gui +++ /dev/null @@ -1,628 +0,0 @@ -script: "/example/examples/grid/static_grid/static_grid.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 409.0 - y: 360.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: 49.0 - y: 49.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/button_green" - id: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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.8 - template_node_child: false - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: -270.0 - y: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_NW_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_NW - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_NE_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_NE - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_N_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -270.0 - y: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_SW_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_SW - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_SE_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_SE - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_S_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_S - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -270.0 - y: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_W_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_C_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_E_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/grid/static_grid/static_grid.gui_script b/example/examples/grid/static_grid/static_grid.gui_script deleted file mode 100644 index 2579bda..0000000 --- a/example/examples/grid/static_grid/static_grid.gui_script +++ /dev/null @@ -1,87 +0,0 @@ -local druid = require("druid.druid") - - -function init(self) - self.druid = druid.new(self) - local prefab = gui.get_node("prefab") - gui.set_enabled(prefab, false) - - local grid_nw = self.druid:new_static_grid("grid_NW_anchor", prefab, 3) - local grid_ne = self.druid:new_static_grid("grid_NE_anchor", prefab, 3) - local grid_n = self.druid:new_static_grid("grid_N_anchor", prefab, 3) - local grid_sw = self.druid:new_static_grid("grid_SW_anchor", prefab, 3) - local grid_se = self.druid:new_static_grid("grid_SE_anchor", prefab, 3) - local grid_s = self.druid:new_static_grid("grid_S_anchor", prefab, 3) - local grid_w = self.druid:new_static_grid("grid_C_anchor", prefab, 3) - local grid_e = self.druid:new_static_grid("grid_W_anchor", prefab, 3) - local grid_c = self.druid:new_static_grid("grid_E_anchor", prefab, 3) - - local update_pos_func = function(node, pos) gui.animate(node, "position", pos, gui.EASING_OUTSINE, 0.2) end - grid_nw:set_position_function(update_pos_func) - grid_ne:set_position_function(update_pos_func) - grid_n:set_position_function(update_pos_func) - grid_sw:set_position_function(update_pos_func) - grid_se:set_position_function(update_pos_func) - grid_s:set_position_function(update_pos_func) - grid_w:set_position_function(update_pos_func) - grid_e:set_position_function(update_pos_func) - grid_c:set_position_function(update_pos_func) - - local grids = { - grid_nw, - grid_ne, - grid_n, - grid_sw, - grid_se, - grid_s, - grid_c, - grid_w, - grid_e, - } - - for i = 1, #grids do - grids[i].style.IS_DYNAMIC_NODE_POSES = false - end - - - local animate_grides = function() - for _, grid in ipairs(grids) do - for i = 1, #grid.nodes do - gui.delete_node(grid.nodes[i]) - end - grid:clear() - - for i = 1, 9 do - timer.delay(i, false, function() - local node = gui.clone(prefab) - gui.set_enabled(node, true) - grid:add(node) - end) - end - end - end - - animate_grides() - timer.delay(10, true, animate_grides) - -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.collection b/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.collection deleted file mode 100644 index a6277f5..0000000 --- a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "static_grid_dynamic_pos" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"static_grid_dynamic_pos\"\n" - " component: \"/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui b/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui deleted file mode 100644 index 6e975da..0000000 --- a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui +++ /dev/null @@ -1,628 +0,0 @@ -script: "/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 409.0 - y: 360.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: 49.0 - y: 49.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/button_green" - id: "prefab" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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.8 - template_node_child: false - size_mode: SIZE_MODE_AUTO -} -nodes { - position { - x: -270.0 - y: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_NW_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_NW - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_NE_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_NE - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 370.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_N_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -270.0 - y: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_SW_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_SW - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_SE_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_SE - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -130.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_S_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_S - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -270.0 - y: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_W_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_C_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 270.0 - y: 120.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: 100.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.4 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "grid_E_anchor" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_E - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script b/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script deleted file mode 100644 index 2112513..0000000 --- a/example/examples/grid/static_grid_dynamic_pos/static_grid_dynamic_pos.gui_script +++ /dev/null @@ -1,87 +0,0 @@ -local druid = require("druid.druid") - - -function init(self) - self.druid = druid.new(self) - local prefab = gui.get_node("prefab") - gui.set_enabled(prefab, false) - - local grid_nw = self.druid:new_static_grid("grid_NW_anchor", prefab, 3) - local grid_ne = self.druid:new_static_grid("grid_NE_anchor", prefab, 3) - local grid_n = self.druid:new_static_grid("grid_N_anchor", prefab, 3) - local grid_sw = self.druid:new_static_grid("grid_SW_anchor", prefab, 3) - local grid_se = self.druid:new_static_grid("grid_SE_anchor", prefab, 3) - local grid_s = self.druid:new_static_grid("grid_S_anchor", prefab, 3) - local grid_w = self.druid:new_static_grid("grid_C_anchor", prefab, 3) - local grid_e = self.druid:new_static_grid("grid_W_anchor", prefab, 3) - local grid_c = self.druid:new_static_grid("grid_E_anchor", prefab, 3) - - local update_pos_func = function(node, pos) gui.animate(node, "position", pos, gui.EASING_OUTSINE, 0.2) end - grid_nw:set_position_function(update_pos_func) - grid_ne:set_position_function(update_pos_func) - grid_n:set_position_function(update_pos_func) - grid_sw:set_position_function(update_pos_func) - grid_se:set_position_function(update_pos_func) - grid_s:set_position_function(update_pos_func) - grid_w:set_position_function(update_pos_func) - grid_e:set_position_function(update_pos_func) - grid_c:set_position_function(update_pos_func) - - local grids = { - grid_nw, - grid_ne, - grid_n, - grid_sw, - grid_se, - grid_s, - grid_c, - grid_w, - grid_e, - } - - for i = 1, #grids do - grids[i].style.IS_DYNAMIC_NODE_POSES = true - end - - - local animate_grides = function() - for _, grid in ipairs(grids) do - for i = 1, #grid.nodes do - gui.delete_node(grid.nodes[i]) - end - grid:clear() - - for i = 1, 9 do - timer.delay(i, false, function() - local node = gui.clone(prefab) - gui.set_enabled(node, true) - grid:add(node) - end) - end - end - end - - animate_grides() - timer.delay(10, true, animate_grides) - -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/layout/layout_fit/layout_fit.collection b/example/examples/layout/layout_fit/layout_fit.collection deleted file mode 100644 index d8e2914..0000000 --- a/example/examples/layout/layout_fit/layout_fit.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "layout_fit" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"layout_fit\"\n" - " component: \"/example/examples/layout/layout_fit/layout_fit.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/layout/layout_fit/layout_fit.gui b/example/examples/layout/layout_fit/layout_fit.gui deleted file mode 100644 index 0bfca9b..0000000 --- a/example/examples/layout/layout_fit/layout_fit.gui +++ /dev/null @@ -1,1355 +0,0 @@ -script: "/example/examples/layout/layout_fit/layout_fit.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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: 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: 200.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.7019608 - y: 0.8 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "node_zoom_test" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 274.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: "kenney/logo" - id: "image" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -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: 300.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: "Original image:" - font: "game" - id: "text_hint_" - 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: "image" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: -185.0 - y: 69.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_1" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_1" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_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: 0.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "STRECH" - font: "game" - id: "text_hint_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: false - parent: "back_1" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 69.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_2" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_2" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_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: 0.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "ZOOM MAX" - font: "game" - id: "text_hint_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: false - parent: "back_2" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 185.0 - y: 69.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_3" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_3" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_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: 0.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "ZOOM MIN" - font: "game" - id: "text_hint_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: false - parent: "back_3" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: -185.0 - y: -192.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_4" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_4" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_4" - 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.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "STRECH X" - font: "game" - id: "text_hint_4" - 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: "back_4" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -192.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_5" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_5" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_5" - 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.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "STRECH Y" - font: "game" - id: "text_hint_5" - 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: "back_5" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 185.0 - y: -192.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: 96.0 - y: 96.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 1.0 - z: 0.3019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "back_6" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 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: "kenney/logo" - id: "image_6" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back_6" - 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.75 - template_node_child: false - size_mode: SIZE_MODE_AUTO - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -106.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: 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: "FIT" - font: "game" - id: "text_hint_6" - 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: "back_6" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.75 - shadow_alpha: 0.0 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/layout/layout_fit/layout_fit.gui_script b/example/examples/layout/layout_fit/layout_fit.gui_script deleted file mode 100644 index 9a1c538..0000000 --- a/example/examples/layout/layout_fit/layout_fit.gui_script +++ /dev/null @@ -1,44 +0,0 @@ -local druid = require("druid.druid") -local const_druid = require("druid.const") -local layout = require("druid.extended.layout") - -function init(self) - druid.register("layout", layout) - self.druid = druid.new(self) - - self.druid:new_layout("node_zoom_test", const_druid.LAYOUT_MODE.STRETCH) - :fit_into_window() - - self.druid:new_layout("image_1", const_druid.LAYOUT_MODE.STRETCH) - :fit_into_node(gui.get_node("back_1")) - self.druid:new_layout("image_2", const_druid.LAYOUT_MODE.ZOOM_MAX) - :fit_into_node(gui.get_node("back_2")) - self.druid:new_layout("image_3", const_druid.LAYOUT_MODE.ZOOM_MIN) - :fit_into_node(gui.get_node("back_3")) - self.druid:new_layout("image_4", const_druid.LAYOUT_MODE.STRETCH_X) - :fit_into_node(gui.get_node("back_4")) - self.druid:new_layout("image_5", const_druid.LAYOUT_MODE.STRETCH_Y) - :fit_into_node(gui.get_node("back_5")) - self.druid:new_layout("image_6", const_druid.LAYOUT_MODE.FIT) - :fit_into_node(gui.get_node("back_6")) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/rich_text/rich_text_texts/prefab_example_rich_text.gui b/example/examples/rich_text/rich_text_texts/prefab_example_rich_text.gui deleted file mode 100644 index aa377e3..0000000 --- a/example/examples/rich_text/rich_text_texts/prefab_example_rich_text.gui +++ /dev/null @@ -1,72 +0,0 @@ -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -nodes { - size { - x: 600.0 - y: 200.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "root" - pivot: PIVOT_N - inherit_alpha: true - visible: false -} -nodes { - scale { - x: 0.8 - y: 0.8 - } - size { - x: 750.0 - y: 100.0 - } - color { - z: 0.9411765 - } - type: TYPE_TEXT - text: "Here is simple example with text" - font: "game" - id: "hint" - pivot: PIVOT_N - outline { - x: 0.101960786 - y: 0.101960786 - z: 0.101960786 - } - shadow { - x: 1.0 - y: 1.0 - z: 1.0 - } - line_break: true - parent: "root" - inherit_alpha: true - outline_alpha: 0.7 - shadow_alpha: 0.0 -} -nodes { - position { - y: -60.0 - } - size { - x: 600.0 - y: 130.0 - } - color { - z: 0.9411765 - } - type: TYPE_BOX - id: "area" - pivot: PIVOT_N - parent: "root" - inherit_alpha: true -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT diff --git a/example/examples/rich_text/rich_text_texts/rich_text_texts.collection b/example/examples/rich_text/rich_text_texts/rich_text_texts.collection deleted file mode 100644 index 6ecfc0b..0000000 --- a/example/examples/rich_text/rich_text_texts/rich_text_texts.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "rich_text_texts" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"rich_text_texts\"\n" - " component: \"/example/examples/rich_text/rich_text_texts/rich_text_texts.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/rich_text/rich_text_texts/rich_text_texts.gui b/example/examples/rich_text/rich_text_texts/rich_text_texts.gui deleted file mode 100644 index 6354116..0000000 --- a/example/examples/rich_text/rich_text_texts/rich_text_texts.gui +++ /dev/null @@ -1,56 +0,0 @@ -script: "/example/examples/rich_text/rich_text_texts/rich_text_texts.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -fonts { - name: "game_thin" - font: "/example/assets/fonts/game_thin.font" -} -fonts { - name: "game_thin_italic" - font: "/example/assets/fonts/game_thin_italic.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -nodes { - position { - x: 300.0 - y: 415.0 - } - size { - x: 600.0 - y: 830.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "root" - inherit_alpha: true -} -nodes { - position { - y: 415.0 - } - size { - x: 600.0 - y: 1200.0 - } - type: TYPE_BOX - texture: "kenney/empty" - id: "content" - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_STRETCH - parent: "root" - inherit_alpha: true - visible: false -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT diff --git a/example/examples/rich_text/rich_text_texts/rich_text_texts.gui_script b/example/examples/rich_text/rich_text_texts/rich_text_texts.gui_script deleted file mode 100644 index 2912299..0000000 --- a/example/examples/rich_text/rich_text_texts/rich_text_texts.gui_script +++ /dev/null @@ -1,47 +0,0 @@ -local druid = require("druid.druid") - -local RichText = require("druid.custom.rich_text.rich_text") - - -function init(self) - self.druid = druid.new(self) - self.druid:new_scroll("root", "content") - - self.rich_text_1 = self.druid:new(RichText, "case1/rich_text") - self.rich_text_1:set_text("Here is basic Rich Text without any text settings") - - self.rich_text_2 = self.druid:new(RichText, "case2/rich_text") - self.rich_text_2:set_text("Here is color example for Rich Text. You can adjust the color, shadow or outline") - - self.rich_text_3 = self.druid:new(RichText, "case3/rich_text") - self.rich_text_3:set_text("Here font change example. Can be usedfor bold and italic fonts or other one") - - self.rich_text_4 = self.druid:new(RichText, "case4/rich_text") - self.rich_text_4:set_text("Hello! Here are new line
and this long text will be without any new line until nobr is end he
re text with br too") - - self.rich_text_5 = self.druid:new(RichText, "case5/rich_text") - self.rich_text_5:set_text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.") - - self.rich_text_6 = self.druid:new(RichText, "case6/rich_text") - self.rich_text_6:set_text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus.") -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/system/inner_templates/inner_button.gui b/example/examples/system/inner_templates/inner_button.gui deleted file mode 100644 index ab6ecf6..0000000 --- a/example/examples/system/inner_templates/inner_button.gui +++ /dev/null @@ -1,190 +0,0 @@ -script: "" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 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: "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_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: 200.0 - y: 49.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/button_blue" - id: "button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.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: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "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" - 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 -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/inner_templates/inner_button.lua b/example/examples/system/inner_templates/inner_button.lua deleted file mode 100644 index 644152c..0000000 --- a/example/examples/system/inner_templates/inner_button.lua +++ /dev/null @@ -1,25 +0,0 @@ -local component = require("druid.component") - ----@class inner_button : druid.base_component -local InnerButton = component.create("inner_button") - -local SCHEME = { - ROOT = "root", - BUTTON = "button", - TEXT = "text", -} - - -function InnerButton:init(template, nodes) - self:set_template(template) - self:set_nodes(nodes) - self.root = self:get_node(SCHEME.ROOT) - self.druid = self:get_druid() - - local value = math.random(0, 99) - self.button = self.druid:new_button(SCHEME.BUTTON, function() print(value) end) - self.text = self.druid:new_text(SCHEME.TEXT, value) -end - - -return InnerButton diff --git a/example/examples/system/inner_templates/inner_panel.gui b/example/examples/system/inner_templates/inner_panel.gui deleted file mode 100644 index 7ee8b41..0000000 --- a/example/examples/system/inner_templates/inner_panel.gui +++ /dev/null @@ -1,762 +0,0 @@ -script: "" -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 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: "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_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: 250.0 - y: 270.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/back_red" - id: "background" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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: 80.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: "inner_button_1" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: false -} -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: "inner_button_1/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_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: true - 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: 200.0 - y: 49.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/button_blue" - id: "inner_button_1/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_1/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_button_1/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: "inner_button_1/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - 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: 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: "inner_button_2" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: false -} -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: "inner_button_2/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_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: true - 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: 200.0 - y: 49.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/button_blue" - id: "inner_button_2/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_2/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_button_2/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: "inner_button_2/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: -80.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: "inner_button_prefab" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: false -} -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: "inner_button_prefab/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_prefab" - 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: true - 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: 200.0 - y: 49.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/button_blue" - id: "inner_button_prefab/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_button_prefab/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_button_prefab/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: "inner_button_prefab/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/inner_templates/inner_panel.lua b/example/examples/system/inner_templates/inner_panel.lua deleted file mode 100644 index 85895da..0000000 --- a/example/examples/system/inner_templates/inner_panel.lua +++ /dev/null @@ -1,39 +0,0 @@ -local component = require("druid.component") - -local InnerButton = require("example.examples.system.inner_templates.inner_button") - ----@class inner_panel : druid.base_component -local InnerPanel = component.create("inner_panel") - -local SCHEME = { - ROOT = "root", - BACKGROUND = "background", - INNER_BUTTON_1 = "inner_button_1", - INNER_BUTTON_2 = "inner_button_2", - INNER_BUTTON_PREFAB = "inner_button_prefab", - INNER_BUTTON_PREFAB_ROOT = "inner_button_prefab/root", -} - - -function InnerPanel:init(template, nodes) - self:set_template(template) - self:set_nodes(nodes) - self.root = self:get_node(SCHEME.ROOT) - self.druid = self:get_druid() - - self.button1 = self.druid:new(InnerButton, SCHEME.INNER_BUTTON_1, nodes) - self.button2 = self.druid:new(InnerButton, SCHEME.INNER_BUTTON_2, nodes) - - local prefab = self:get_node(SCHEME.INNER_BUTTON_PREFAB_ROOT) - local button_nodes = gui.clone_tree(prefab) - self.button3 = self.druid:new(InnerButton, SCHEME.INNER_BUTTON_PREFAB, button_nodes) - - gui.set_enabled(prefab, false) -end - - -function InnerPanel:on_remove() -end - - -return InnerPanel diff --git a/example/examples/system/inner_templates/inner_templates.collection b/example/examples/system/inner_templates/inner_templates.collection deleted file mode 100644 index 920c807..0000000 --- a/example/examples/system/inner_templates/inner_templates.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "inner_templates" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"inner_templates\"\n" - " component: \"/example/examples/system/inner_templates/inner_templates.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/system/inner_templates/inner_templates.gui b/example/examples/system/inner_templates/inner_templates.gui deleted file mode 100644 index 8bbd35e..0000000 --- a/example/examples/system/inner_templates/inner_templates.gui +++ /dev/null @@ -1,1011 +0,0 @@ -script: "/example/examples/system/inner_templates/inner_templates.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -125.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: 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: "inner_panel" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_panel.gui" - template_node_child: false - custom_type: 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: 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: "inner_panel/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 250.0 - y: 270.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/back_red" - id: "inner_panel/background" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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 -} -nodes { - position { - x: 0.0 - y: 80.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: "inner_panel/inner_button_1" - parent: "inner_panel/root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: true - custom_type: 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: 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: "inner_panel/inner_button_1/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 49.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/button_blue" - id: "inner_panel/inner_button_1/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_1/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.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 -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_panel/inner_button_1/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: "inner_panel/inner_button_1/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 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_TEMPLATE - id: "inner_panel/inner_button_2" - parent: "inner_panel/root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: true - custom_type: 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: 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: "inner_panel/inner_button_2/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 49.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/button_blue" - id: "inner_panel/inner_button_2/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_2/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.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 -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_panel/inner_button_2/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: "inner_panel/inner_button_2/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: 0.0 - y: -80.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: "inner_panel/inner_button_prefab" - parent: "inner_panel/root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/examples/system/inner_templates/inner_button.gui" - template_node_child: true - custom_type: 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: 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: "inner_panel/inner_button_prefab/root" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_prefab" - 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: true - size_mode: SIZE_MODE_AUTO - custom_type: 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: 49.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/button_blue" - id: "inner_panel/inner_button_prefab/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "inner_panel/inner_button_prefab/root" - layer: "" - inherit_alpha: true - slice9 { - x: 15.0 - y: 0.0 - z: 15.0 - w: 0.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 -} -nodes { - position { - x: 0.0 - y: 4.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - z: 1.0 - w: 1.0 - } - size { - x: 230.0 - y: 40.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: "Some text" - font: "game" - id: "inner_panel/inner_button_prefab/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: "inner_panel/inner_button_prefab/button" - layer: "" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.0 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 -} -nodes { - position { - x: -125.0 - y: 350.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: 400.0 - y: 40.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: "Template from scene" - font: "game" - id: "text_hint_1" - 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: "root" - 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 -} -nodes { - position { - x: 125.0 - y: 350.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: 400.0 - y: 40.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: "Template from gui.clone_tree" - font: "game" - id: "text_hint_2" - 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: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/inner_templates/inner_templates.gui_script b/example/examples/system/inner_templates/inner_templates.gui_script deleted file mode 100644 index b8c6532..0000000 --- a/example/examples/system/inner_templates/inner_templates.gui_script +++ /dev/null @@ -1,38 +0,0 @@ -local druid = require("druid.druid") - -local InnerPanel = require("example.examples.system.inner_templates.inner_panel") - -function init(self) - self.druid = druid.new(self) - local root = gui.get_node("inner_panel/root") - - local nodes = gui.clone_tree(root) - self.inner_panel_2 = self.druid:new(InnerPanel, "inner_panel", nodes) - gui.set_position(self.inner_panel_2.root, vmath.vector3(125, 150, 0)) - - local nodes3 = gui.clone_tree(root) - self.inner_panel_3 = self.druid:new(InnerPanel, "inner_panel", nodes3) - gui.set_position(self.inner_panel_3.root, vmath.vector3(125, -150, 0)) - - self.inner_panel = self.druid:new(InnerPanel, "inner_panel") -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/system/late_init_check/late_init_check.collection b/example/examples/system/late_init_check/late_init_check.collection deleted file mode 100644 index 9700af5..0000000 --- a/example/examples/system/late_init_check/late_init_check.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "late_init_check" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"late_init_check\"\n" - " component: \"/example/examples/system/late_init_check/late_init_check.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/system/late_init_check/late_init_check.gui b/example/examples/system/late_init_check/late_init_check.gui deleted file mode 100644 index 9869261..0000000 --- a/example/examples/system/late_init_check/late_init_check.gui +++ /dev/null @@ -1,374 +0,0 @@ -script: "/example/examples/system/late_init_check/late_init_check.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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: true -} -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: 500.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: "Late init system check\n" - "\n" - "Should capture input only after create first input component" - font: "game" - id: "text_hint" - 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: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -46.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: "prefab_button" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 200.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "prefab_button/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "prefab_button" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Tap me!" - font: "game" - id: "prefab_button/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "prefab_button/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: 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: 400.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: "grid" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_N - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: true -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/late_init_check/late_init_check.gui_script b/example/examples/system/late_init_check/late_init_check.gui_script deleted file mode 100644 index 2820029..0000000 --- a/example/examples/system/late_init_check/late_init_check.gui_script +++ /dev/null @@ -1,46 +0,0 @@ -local druid = require("druid.druid") - - -local function create_button(self, index) - local cloned = gui.clone_tree(self.prefab) - local root = cloned["prefab_button/button"] - self.grid:add(root) - gui.set_enabled(root, true) - - local button = self.druid:new_button(root, function() - print("Created button with timer delay:", index) - end) - -- Override to check calls, don't do it in production ;) - button.on_late_init = function() - print("Late init button check", index) - end - - print("Button created, is input inited now?", self.druid.input_inited) -end - - -function init(self) - self.druid = druid.new(self) - - self.prefab = gui.get_node("prefab_button/button") - gui.set_enabled(self.prefab, false) - - self.grid = self.druid:new_static_grid("grid", self.prefab, 1) - - create_button(self, 0) - for index = 1, 4 do - timer.delay(index, false, function() - create_button(self, index) - end) - end -end - - -function final(self) - self.druid:final() -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/system/message_input/message_input.collection b/example/examples/system/message_input/message_input.collection deleted file mode 100644 index 8e223c6..0000000 --- a/example/examples/system/message_input/message_input.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "message_input" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"message_input\"\n" - " component: \"/example/examples/system/message_input/message_input.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/system/message_input/message_input.gui b/example/examples/system/message_input/message_input.gui deleted file mode 100644 index cf05adf..0000000 --- a/example/examples/system/message_input/message_input.gui +++ /dev/null @@ -1,1335 +0,0 @@ -script: "/example/examples/system/message_input/message_input.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 350.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: 500.0 - y: 80.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: "Message Input:" - font: "game" - id: "text_message_input" - 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: "root" - 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: 250.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: "info_button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -100.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_TEMPLATE - id: "button_test" - parent: "info_button" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_test/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_test" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Button" - font: "game" - id: "button_test/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_test/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 100.0 - y: 6.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.8 - y: 0.8 - 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: "Value: 0" - font: "game" - id: "text_random" - 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: "info_button" - 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: 100.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: 500.0 - y: 80.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: "Send input message" - font: "game" - id: "text_input_message" - 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: "root" - 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: 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: "info_blacklist" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -100.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_TEMPLATE - id: "button_trigger_click" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_trigger_click/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_trigger_click" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Click" - font: "game" - id: "button_trigger_click/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_trigger_click/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -100.0 - y: -100.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_trigger_double" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_trigger_double/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_trigger_double" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.5 - y: 0.5 - 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: "Double click" - font: "game" - id: "button_trigger_double/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_trigger_double/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -100.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: 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_trigger_long" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_trigger_long/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_trigger_long" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - 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: "Long click" - font: "game" - id: "button_trigger_long/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_trigger_long/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 3 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: -100.0 - y: -300.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_trigger_repeated" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_trigger_repeated/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_trigger_repeated" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Repeated" - font: "game" - id: "button_trigger_repeated/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_trigger_repeated/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 100.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_TEMPLATE - id: "button_text_random" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_green" - id: "button_text_random/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_text_random" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 9 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Set Text" - font: "game" - id: "button_text_random/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: 0.101960786 - y: 0.3019608 - z: 0.3019608 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_text_random/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - overridden_fields: 16 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/message_input/message_input.gui_script b/example/examples/system/message_input/message_input.gui_script deleted file mode 100644 index 96203be..0000000 --- a/example/examples/system/message_input/message_input.gui_script +++ /dev/null @@ -1,76 +0,0 @@ -local druid = require("druid.druid") -local const = require("druid.const") - - -local function click_callback(self, text, some) - print("Button tap callback:", text, some) -end - - -local function trigger_callback(self, params) - msg.post(".", const.ON_MESSAGE_INPUT, params) -end - - -local function set_random_text_callback(self, params) - params.value = "Value: " .. math.random(0, 99) - - trigger_callback(self, params) -end - - -function init(self) - self.druid = druid.new(self) - - self.button_test = self.druid:new_button("button_test/button", click_callback) - self.button_test.on_long_click:subscribe(function() print("long click") end) - self.button_test.on_double_click:subscribe(function() print("double click") end) - self.button_test.on_repeated_click:subscribe(function() print("repeated_click") end) - - self.druid:new_text("text_random") - - self.druid:new_button("button_trigger_click/button", trigger_callback, { - node_id = "button_test/button", - action = const.MESSAGE_INPUT.BUTTON_CLICK - }) - - self.druid:new_button("button_trigger_double/button", trigger_callback, { - node_id = "button_test/button", - action = const.MESSAGE_INPUT.BUTTON_DOUBLE_CLICK - }) - - self.druid:new_button("button_trigger_long/button", trigger_callback, { - node_id = "button_test/button", - action = const.MESSAGE_INPUT.BUTTON_LONG_CLICK - }) - - self.druid:new_button("button_trigger_repeated/button", trigger_callback, { - node_id = "button_test/button", - action = const.MESSAGE_INPUT.BUTTON_REPEATED_CLICK - }) - - self.druid:new_button("button_text_random/button", set_random_text_callback, { - node_id = "text_random", - action = const.MESSAGE_INPUT.TEXT_SET - }) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/system/whitelist_blacklist/whitelist_blacklist.collection b/example/examples/system/whitelist_blacklist/whitelist_blacklist.collection deleted file mode 100644 index fa06cb5..0000000 --- a/example/examples/system/whitelist_blacklist/whitelist_blacklist.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "whitelist_blacklist" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"whitelist_blacklist\"\n" - " component: \"/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui b/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui deleted file mode 100644 index ff36a94..0000000 --- a/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui +++ /dev/null @@ -1,1864 +0,0 @@ -script: "/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 0.0 - y: 350.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: 500.0 - y: 80.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: "Whitelist first button" - font: "game" - id: "text_whitelist" - 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: "root" - 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: 250.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: "info_whitelist" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -180.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_TEMPLATE - id: "button_whitelist_1" - parent: "info_whitelist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_whitelist_1/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_whitelist_1" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Left" - font: "game" - id: "button_whitelist_1/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_whitelist_1/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - 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: 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_whitelist_2" - parent: "info_whitelist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_whitelist_2/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_whitelist_2" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Middle" - font: "game" - id: "button_whitelist_2/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_whitelist_2/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 180.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_TEMPLATE - id: "button_whitelist_3" - parent: "info_whitelist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_whitelist_3/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_whitelist_3" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Right" - font: "game" - id: "button_whitelist_3/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_whitelist_3/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 0.0 - y: 100.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: 500.0 - y: 80.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: "Blacklist first button" - font: "game" - id: "text_blacklist" - 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: "root" - 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: 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: "info_blacklist" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -180.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_TEMPLATE - id: "button_blacklist_1" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_blacklist_1/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_blacklist_1" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Left" - font: "game" - id: "button_blacklist_1/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_blacklist_1/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - 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: 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_blacklist_2" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_blacklist_2/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_blacklist_2" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Middle\n" - "" - font: "game" - id: "button_blacklist_2/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_blacklist_2/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 180.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_TEMPLATE - id: "button_blacklist_3" - parent: "info_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_blacklist_3/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_blacklist_3" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Right" - font: "game" - id: "button_blacklist_3/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_blacklist_3/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -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: 500.0 - y: 80.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: "Whitelist and Blacklist first" - font: "game" - id: "text_whitelist_blacklist" - 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: "root" - 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: -250.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: "info_whitelist_blacklist" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -180.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_TEMPLATE - id: "button_wb_1" - parent: "info_whitelist_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_wb_1/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_wb_1" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Left" - font: "game" - id: "button_wb_1/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_wb_1/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - 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: 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_wb_2" - parent: "info_whitelist_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_wb_2/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_wb_2" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Middle" - font: "game" - id: "button_wb_2/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_wb_2/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -nodes { - position { - x: 180.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_TEMPLATE - id: "button_wb_3" - parent: "info_whitelist_blacklist" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.gui" - template_node_child: false -} -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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_wb_3/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_wb_3" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - template_node_child: true - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Right" - font: "game" - id: "button_wb_3/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_wb_3/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui_script b/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui_script deleted file mode 100644 index e17c9c9..0000000 --- a/example/examples/system/whitelist_blacklist/whitelist_blacklist.gui_script +++ /dev/null @@ -1,66 +0,0 @@ -local druid = require("druid.druid") - - -local function click_callback(self) - print("Just tap callback") -end - - -function init(self) - self.druid_whitelist = druid.new(self) - - -- Whitelist - self.button_wl_left = self.druid_whitelist:new_button("button_whitelist_1/button", click_callback) - self.button_wl_middle = self.druid_whitelist:new_button("button_whitelist_2/button", click_callback) - self.button_wl_right = self.druid_whitelist:new_button("button_whitelist_3/button", click_callback) - self.druid_whitelist:set_whitelist(self.button_wl_left) - - - self.druid_blacklist = druid.new(self) - - -- Blacklist - self.button_bl_left = self.druid_blacklist:new_button("button_blacklist_1/button", click_callback) - self.button_bl_middle = self.druid_blacklist:new_button("button_blacklist_2/button", click_callback) - self.button_bl_right = self.druid_blacklist:new_button("button_blacklist_3/button", click_callback) - self.druid_blacklist:set_blacklist(self.button_bl_left) - - - self.druid_wb = druid.new(self) - - -- Blacklist and Whitelist - self.button_wb_left = self.druid_wb:new_button("button_wb_1/button", click_callback) - self.button_wb_middle = self.druid_wb:new_button("button_wb_2/button", click_callback) - self.button_wb_right = self.druid_wb:new_button("button_wb_3/button", click_callback) - self.druid_wb:set_whitelist(self.button_wb_left) - self.druid_wb:set_blacklist(self.button_wb_left) -end - - -function final(self) - self.druid_whitelist:final() - self.druid_blacklist:final() - self.druid_wb:final() -end - - -function update(self, dt) - self.druid_whitelist:update(dt) - self.druid_blacklist:update(dt) - self.druid_wb:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid_whitelist:on_message(message_id, message, sender) - self.druid_blacklist:on_message(message_id, message, sender) - self.druid_wb:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - local result_1 = self.druid_whitelist:on_input(action_id, action) - local result_2 = self.druid_blacklist:on_input(action_id, action) - local result_3 = self.druid_wb:on_input(action_id, action) - - return result_1 or result_2 or result_3 -end diff --git a/example/examples/template/template.collection b/example/examples/template/template.collection deleted file mode 100644 index e5037cf..0000000 --- a/example/examples/template/template.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "template" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"template\"\n" - " component: \"/example/examples/template/template.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/template/template.gui b/example/examples/template/template.gui deleted file mode 100644 index b069aca..0000000 --- a/example/examples/template/template.gui +++ /dev/null @@ -1,141 +0,0 @@ -script: "/example/examples/template/template.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -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_TEXT - blend_mode: BLEND_MODE_ALPHA - text: "Hello!" - font: "game" - id: "text_hint" - 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: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/template/template.gui_script b/example/examples/template/template.gui_script deleted file mode 100644 index 91f9d3f..0000000 --- a/example/examples/template/template.gui_script +++ /dev/null @@ -1,26 +0,0 @@ -local druid = require("druid.druid") - - -function init(self) - self.druid = druid.new(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/texts/lang_text/lang_text.collection b/example/examples/texts/lang_text/lang_text.collection deleted file mode 100644 index aec1738..0000000 --- a/example/examples/texts/lang_text/lang_text.collection +++ /dev/null @@ -1,39 +0,0 @@ -name: "lang_text" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"lang_text\"\n" - " component: \"/example/examples/texts/lang_text/lang_text.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - " property_decls {\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/texts/lang_text/lang_text.gui b/example/examples/texts/lang_text/lang_text.gui deleted file mode 100644 index 5c4429c..0000000 --- a/example/examples/texts/lang_text/lang_text.gui +++ /dev/null @@ -1,514 +0,0 @@ -script: "/example/examples/texts/lang_text/lang_text.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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: true -} -nodes { - position { - x: 6.0 - y: 241.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_change_lang" - parent: "root" - layer: "" - inherit_alpha: true - alpha: 1.0 - template: "/example/templates/button.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: 200.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button_change_lang/button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "button_change_lang" - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.0 - } - clipping_mode: CLIPPING_MODE_NONE - clipping_visible: true - clipping_inverted: false - alpha: 1.0 - overridden_fields: 4 - template_node_child: true - size_mode: SIZE_MODE_MANUAL - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 7.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: 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: "Change lang" - font: "game" - id: "button_change_lang/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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button_change_lang/button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - overridden_fields: 2 - overridden_fields: 8 - template_node_child: true - text_leading: 1.0 - text_tracking: 0.0 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: 147.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 500.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: "Current lang: en" - font: "game" - id: "text_current_lang" - 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: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -20.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: "Example 1" - font: "game" - id: "text_example_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: false - parent: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -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: 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: "Example 2" - font: "game" - id: "text_example_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: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -nodes { - position { - x: 0.0 - y: -270.0 - z: 0.0 - w: 1.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale { - x: 0.6 - y: 0.6 - z: 1.0 - w: 1.0 - } - size { - x: 400.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: "Example 3" - font: "game" - id: "text_example_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: "root" - 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 - custom_type: 0 - enabled: true - visible: true -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/texts/lang_text/lang_text.gui_script b/example/examples/texts/lang_text/lang_text.gui_script deleted file mode 100644 index f62a95f..0000000 --- a/example/examples/texts/lang_text/lang_text.gui_script +++ /dev/null @@ -1,50 +0,0 @@ -local druid = require("druid.druid") -local druid_const = require("druid.const") -local lang = require("example.lang") - - -local function refresh_lang_text(self) - self.text_current:format(lang.get_locale("ui_lang")) -end - - -function init(self) - self.druid = druid.new(self) - - self.text_current = self.druid:new_lang_text("text_current_lang", "ui_current_lang") - self.text_example_1 = self.druid:new_lang_text("text_example_1", "ui_example_1") - self.text_example_2 = self.druid:new_lang_text("text_example_2", "ui_example_2") - self.text_example_3 = self.druid:new_lang_text("text_example_3", "ui_example_3") - self.text_example_3:format(10, 20, 30) - - refresh_lang_text(self) - - self.current_lang = lang.get_locale() - self.druid:new_button("button_change_lang/button", lang.toggle_locale) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - -- If we have localized text in text formatting, we should update it manually - -- If we have non localized text, the lang_text:format or :translate will update text manually again - if message_id == hash(druid_const.ON_LANGUAGE_CHANGE) then - refresh_lang_text(self) - end - - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/texts/texts_adjust/texts_adjust.collection b/example/examples/texts/texts_adjust/texts_adjust.collection deleted file mode 100644 index f78b5bf..0000000 --- a/example/examples/texts/texts_adjust/texts_adjust.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "texts_adjust" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"texts_adjust\"\n" - " component: \"/example/examples/texts/texts_adjust/texts_adjust.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/texts/texts_adjust/texts_adjust.gui b/example/examples/texts/texts_adjust/texts_adjust.gui deleted file mode 100644 index df40a37..0000000 --- a/example/examples/texts/texts_adjust/texts_adjust.gui +++ /dev/null @@ -1,1109 +0,0 @@ -script: "/example/examples/texts/texts_adjust/texts_adjust.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: 160.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: "info_texts" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 250.0 - y: 2000.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.9019608 - z: 0.6 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "text_width" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_texts" - 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: 300.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: 250.0 - y: 80.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: "I\'m text with scale adjust" - font: "game" - id: "text_scale" - 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: "info_texts" - 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: 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: 250.0 - y: 80.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: "I trim all text, what is outside of my zone" - font: "game" - id: "text_trim" - 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: "info_texts" - 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: 100.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: 250.0 - y: 80.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: "This text is without any adjust, like simple Text node" - font: "game" - id: "text_no_adjust" - 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: "info_texts" - 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: 250.0 - y: 80.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: "I have limit to downscale, when like no adjust" - font: "game" - id: "text_scale_limited" - 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: "info_texts" - 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: -100.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: 250.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: "stencil_for_text_scroll" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_texts" - layer: "" - 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: -125.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: 250.0 - y: 80.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: "This text scroll horizontally, when size is bigger of defined" - font: "game" - id: "text_scroll" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "stencil_for_text_scroll" - 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: -125.0 - y: -100.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: 250.0 - y: 80.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: "I\'m first downscale, then scroll behaviour" - font: "game" - id: "text_scroll_scale" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "stencil_for_text_scroll" - 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: -160.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: "info_texts_types" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 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: 250.0 - y: 2000.0 - z: 0.0 - w: 1.0 - } - color { - x: 1.0 - y: 0.7019608 - z: 0.6 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "background_color_text" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "info_texts_types" - 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: -125.0 - y: 300.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: 250.0 - y: 80.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: "Scale (default):" - font: "game" - id: "text_type_scale" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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: -125.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: 0.75 - y: 0.75 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 80.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: "Trim:" - font: "game" - id: "text_type_trim" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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: -125.0 - y: 100.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: 250.0 - y: 80.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: "No adjust:" - font: "game" - id: "text_type_no_adjust" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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: -125.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: 250.0 - y: 80.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: "Scale limited:" - font: "game" - id: "text_type_scale_limited" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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: -125.0 - y: -100.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: 250.0 - y: 80.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:" - font: "game" - id: "text_type_scroll" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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: -125.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: 0.75 - y: 0.75 - z: 1.0 - w: 1.0 - } - size { - x: 250.0 - y: 80.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 then scale:" - font: "game" - id: "text_type_scroll_scale" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "info_texts_types" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/texts/texts_adjust/texts_adjust.gui_script b/example/examples/texts/texts_adjust/texts_adjust.gui_script deleted file mode 100644 index d72b730..0000000 --- a/example/examples/texts/texts_adjust/texts_adjust.gui_script +++ /dev/null @@ -1,59 +0,0 @@ -local druid = require("druid.druid") -local const = require("druid.const") - - -function init(self) - self.druid = druid.new(self) - - self.texts = { - self.druid:new_text("text_scale", nil, const.TEXT_ADJUST.DOWNSCALE), - self.druid:new_text("text_trim", nil, const.TEXT_ADJUST.TRIM), - self.druid:new_text("text_no_adjust", nil, const.TEXT_ADJUST.NO_ADJUST), - self.druid:new_text("text_scale_limited", nil, const.TEXT_ADJUST.DOWNSCALE_LIMITED) - :set_minimal_scale(0.5), - self.druid:new_text("text_scroll", nil, const.TEXT_ADJUST.SCROLL), - self.druid:new_text("text_scroll_scale", nil, const.TEXT_ADJUST.SCALE_THEN_SCROLL) - :set_minimal_scale(0.5) - } - - local initial_texts = {} - local text_sizes = {} - for _, text in pairs(self.texts) do - initial_texts[text] = text.last_value - text_sizes[text] = 0 - end - - - timer.delay(0.25, true, function() - for _, text in pairs(self.texts) do - local text_string = string.sub(initial_texts[text], 1, text_sizes[text]) - text_sizes[text] = text_sizes[text] + 1 - - if text_sizes[text] > #initial_texts[text] then - text_sizes[text] = 0 - end - - text:set_to(text_string) - end - end) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/examples/texts/texts_general/texts_general.collection b/example/examples/texts/texts_general/texts_general.collection deleted file mode 100644 index d42582b..0000000 --- a/example/examples/texts/texts_general/texts_general.collection +++ /dev/null @@ -1,37 +0,0 @@ -name: "texts" -scale_along_z: 0 -embedded_instances { - id: "go" - data: "components {\n" - " id: \"texts\"\n" - " component: \"/example/examples/texts/texts_general/texts_general.gui\"\n" - " position {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " }\n" - " rotation {\n" - " x: 0.0\n" - " y: 0.0\n" - " z: 0.0\n" - " w: 1.0\n" - " }\n" - "}\n" - "" - position { - x: 0.0 - y: 0.0 - z: 0.0 - } - rotation { - x: 0.0 - y: 0.0 - z: 0.0 - w: 1.0 - } - scale3 { - x: 1.0 - y: 1.0 - z: 1.0 - } -} diff --git a/example/examples/texts/texts_general/texts_general.gui b/example/examples/texts/texts_general/texts_general.gui deleted file mode 100644 index 8f5cc19..0000000 --- a/example/examples/texts/texts_general/texts_general.gui +++ /dev/null @@ -1,1070 +0,0 @@ -script: "/example/examples/texts/texts_general/texts_general.gui_script" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.atlas" -} -background_color { - x: 0.0 - y: 0.0 - z: 0.0 - w: 0.0 -} -nodes { - position { - x: 300.0 - y: 415.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: 830.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: "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 -} -nodes { - position { - x: -250.0 - y: -80.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: 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: "Locale:" - font: "game" - id: "locale" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: 150.0 - y: 100.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: 300.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.7019608 - y: 0.8 - z: 1.0 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "anchoring_zone_visual" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: -250.0 - y: 10.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: 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: "No adjust:" - font: "game" - id: "no_adjust" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: -250.0 - y: -260.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: 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: "Max height:" - font: "game" - id: "max_height" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: 150.0 - y: 280.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: 300.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: "Simple inline text" - font: "game" - id: "text_inline" - 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: "root" - 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: -250.0 - y: -170.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: 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: "Max Width:" - font: "game" - id: "max_width" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: -250.0 - y: 100.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: 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: "Anchoring:" - font: "game" - id: "anchoring" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: 150.0 - y: 190.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: 300.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: "Simple multiline text with smth" - font: "game" - id: "text_multiline" - 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: "root" - 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: 150.0 - y: -260.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: 300.0 - y: 100.0 - z: 0.0 - w: 1.0 - } - color { - x: 0.7019608 - y: 0.7019608 - z: 0.7019608 - w: 1.0 - } - type: TYPE_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "" - id: "text_max_height_visual" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "root" - 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: 0.7 - template_node_child: false - size_mode: SIZE_MODE_MANUAL -} -nodes { - position { - x: 150.0 - y: 100.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: 300.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: "Anchoring" - font: "game" - id: "text_anchoring" - 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: "root" - 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: 150.0 - y: -170.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: 300.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: "Max Width:" - font: "game" - id: "text_max_width" - 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: "root" - 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: 150.0 - y: 10.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: 300.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: "No adjust:" - font: "game" - id: "text_no_adjust" - 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: "root" - 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: 150.0 - y: -80.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: 300.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: "Locale:" - font: "game" - id: "text_locale" - 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: "root" - 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: 150.0 - y: -260.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: 300.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: "Max height:" - font: "game" - id: "text_max_height" - 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: "root" - 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: -250.0 - y: 280.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: 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: "Inline:" - font: "game" - id: "inline" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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: -250.0 - y: 190.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: 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: "Multiline:" - font: "game" - id: "multiline" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_W - 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: "root" - 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 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/examples/texts/texts_general/texts_general.gui_script b/example/examples/texts/texts_general/texts_general.gui_script deleted file mode 100644 index 495a956..0000000 --- a/example/examples/texts/texts_general/texts_general.gui_script +++ /dev/null @@ -1,73 +0,0 @@ -local druid = require("druid.druid") -local const = require("druid.const") - -local pivots = { - gui.PIVOT_CENTER, - gui.PIVOT_N, - gui.PIVOT_NE, - gui.PIVOT_E, - gui.PIVOT_SE, - gui.PIVOT_S, - gui.PIVOT_SW, - gui.PIVOT_W, - gui.PIVOT_NW -} - - -local function setup_texts(self) - self.druid:new_text("text_inline") - self.druid:new_text("text_multiline") - local anchoring = self.druid:new_text("text_anchoring") - self.druid:new_text("text_no_adjust", "Without adjust size", const.TEXT_ADJUST.NO_ADJUST) - self.druid:new_lang_text("text_locale", "ui_text_example") - - local big_text = "Check max size" - local width = self.druid:new_text("text_max_width", big_text) - local height = self.druid:new_text("text_max_height", big_text) - - local pivot_index = 1 - timer.delay(0.3, true, function() - anchoring:set_pivot(pivots[pivot_index]) - - pivot_index = pivot_index + 1 - if pivot_index > #pivots then - pivot_index = 1 - end - end) - - timer.delay(0.3, true, function() - big_text = big_text .. " m a x" - width:set_to(big_text) - height:set_to(big_text) - - if #big_text > 120 then - big_text = "Check max size" - end - end) -end - - -function init(self) - self.druid = druid.new(self) - setup_texts(self) -end - - -function final(self) - self.druid:final() -end - - -function update(self, dt) - self.druid:update(dt) -end - - -function on_message(self, message_id, message, sender) - self.druid:on_message(message_id, message, sender) -end - - -function on_input(self, action_id, action) - return self.druid:on_input(action_id, action) -end diff --git a/example/game.appmanifest b/example/game.appmanifest deleted file mode 100644 index 9fd8707..0000000 --- a/example/game.appmanifest +++ /dev/null @@ -1,76 +0,0 @@ -platforms: - armv7-ios: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - arm64-ios: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - x86_64-ios: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - armv7-android: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeJars: [] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - arm64-android: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeJars: [] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - arm64-osx: - context: - excludeLibs: [physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx, liveupdate] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, record_null, liveupdate_null] - x86_64-osx: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - x86_64-linux: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - x86-win32: - context: - excludeLibs: [libliveupdate, libphysics, libLinearMath, libBulletDynamics, libBulletCollision, libBox2D, libscript_box2d, librecord, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [libphysics_null.lib, libliveupdate_null.lib, librecord_null.lib] - linkFlags: [] - x86_64-win32: - context: - excludeLibs: [libliveupdate, libphysics, libLinearMath, libBulletDynamics, libBulletCollision, libBox2D, libscript_box2d, librecord, vpx] - excludeSymbols: [ScriptBox2DExt] - libs: [libphysics_null.lib, libliveupdate_null.lib, librecord_null.lib] - linkFlags: [] - js-web: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeJsLibs: [] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] - wasm-web: - context: - excludeLibs: [liveupdate, physics, LinearMath, BulletDynamics, BulletCollision, Box2D, script_box2d, record, vpx] - excludeJsLibs: [] - excludeSymbols: [ScriptBox2DExt] - libs: [physics_null, liveupdate_null, record_null] - linkFlags: [] diff --git a/example/init.script b/example/init.script deleted file mode 100644 index b4cc51c..0000000 --- a/example/init.script +++ /dev/null @@ -1,21 +0,0 @@ -local druid = require("druid.druid") -local lang = require("example.lang") - - -local function setup_druid() - druid.set_sound_function(function(name) - sound.play("example:/sound#" .. name) - end) - - druid.set_text_function(function(lang_id, ...) - return lang.get_locale(lang_id, ...) - end) - - druid.on_language_change() -end - - -function init(self) - setup_druid() - msg.post("@render:", "clear_color", { color = vmath.vector4(0.8, 0.9, 0.85, 1) }) -end diff --git a/example/lang.lua b/example/lang.lua deleted file mode 100644 index a790951..0000000 --- a/example/lang.lua +++ /dev/null @@ -1,78 +0,0 @@ -local druid = require("druid.druid") - -local M = {} - -local en = { - ui_lang = "En", - ui_current_lang = "Current lang: %s", - main_page = "Main page", - texts_page = "Text page", - button_page = "Button page", - scroll_page = "Scroll page", - slider_page = "Slider page", - input_page = "Input page", - grid_page = "Grid page", - infinity_page = "Infinity scroll", - ui_section_button = "Button", - ui_section_text = "Text", - ui_section_timer = "Timer", - ui_section_progress = "Progress", - ui_section_slider = "Slider", - ui_section_radio = "Radio", - ui_section_checkbox = "Checkbox", - ui_section_input = "Input", - ui_text_example = "Translated", - ui_text_change_lang = "Change lang", - ui_example_1 = "Some text example", - ui_example_2 = "Lang text with different length to be adjusted", - ui_example_3 = "Text with 3 params: %s, %s and %s", -} - -local ru = { - ui_lang = "Ру", - ui_current_lang = "Текущий язык: %s", - main_page = "Основное", - texts_page = "Текст", - button_page = "Кнопки", - scroll_page = "Скролл", - slider_page = "Слайдеры", - input_page = "Текст. ввод", - grid_page = "Сетка", - infinity_page = "Беск. скролл", - ui_section_button = "Кнопка", - ui_section_text = "Текст", - ui_section_timer = "Таймер", - ui_section_progress = "Прогресс", - ui_section_slider = "Слайдер", - ui_section_radio = "Выбор", - ui_section_checkbox = "Мн. выбор", - ui_section_input = "Ввод текста", - ui_text_example = "Переведен", - ui_text_change_lang = "Сменить язык", - ui_example_1 = "Пример текста", - ui_example_2 = "Короткий текст", - ui_example_3 = "Текст с 3 параметрами: %s, %s и %s", -} - - -local data = en - - -function M.get_locale(lang_id, ...) - local localized_text = data[lang_id] or lang_id - - if #{...} > 0 then - localized_text = string.format(localized_text, ...) - end - - return localized_text -end - - -function M.toggle_locale() - data = data == en and ru or en - druid.on_language_change() -end - - -return M diff --git a/example/light_theme.css b/example/light_theme.css deleted file mode 100644 index 3b658db..0000000 --- a/example/light_theme.css +++ /dev/null @@ -1,85 +0,0 @@ - .canvas-app-progress { - position: absolute; - background-color: #d1dbeb; - height: 6px; - margin-top: -6px; - width: 100%; - } - - .canvas-app-progress-bar { - font-size: 12px; - height: 6px; - color: rgb(255, 255, 255); - background-color: #1a72eb; - text-align: center; - line-height: 20px; - } -{{#html5.show_fullscreen_button}} - .button { - background-image: url("data:image/svg+xml,%3C!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.1//EN' 'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3E%3Csvg xmlns='http://www.w3.org/2000/svg' baseProfile='full' width='16' height='16' viewBox='0 0 16 16' version='1.1' xml:space='preserve'%3E%3Ctitle%3Eic-16-fullscreen%3C/title%3E%3Cg id='ic-16-fullscreen' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cpath d='M3,11.5 C3,11.776 3.224,12 3.5,12 L12.5,12 C12.776,12 13,11.776 13,11.5 L13,4.5 C13,4.224 12.776,4 12.5,4 L3.5,4 C3.224,4 3,4.224 3,4.5 L3,11.5 Z M14,11 L14,13 L12,13 C11.724,13 11.5,13.224 11.5,13.5 C11.5,13.776 11.724,14 12,14 L14.5,14 C14.776,14 15,13.776 15,13.5 L15,11 C15,10.724 14.776,10.5 14.5,10.5 C14.224,10.5 14,10.724 14,11 Z M12,2 C11.724,2 11.5,2.224 11.5,2.5 C11.5,2.776 11.724,3 12,3 L14,3 L14,5 C14,5.276 14.224,5.5 14.5,5.5 C14.776,5.5 15,5.276 15,5 L15,2.5 C15,2.224 14.776,2 14.5,2 L12,2 Z M2,13 L2,11 C2,10.724 1.776,10.5 1.5,10.5 C1.224,10.5 1,10.724 1,11 L1,13.5 C1,13.776 1.224,14 1.5,14 L4,14 C4.276,14 4.5,13.776 4.5,13.5 C4.5,13.224 4.276,13 4,13 L2,13 Z M1,2.5 C1,2.224 1.224,2 1.5,2 L4,2 C4.276,2 4.5,2.224 4.5,2.5 C4.5,2.776 4.276,3 4,3 L2,3 L2,5 C2,5.276 1.776,5.5 1.5,5.5 C1.224,5.5 1,5.276 1,5 L1,2.5 Z ' id='fill_1' fill='%23006fff'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"); - background-repeat: no-repeat; - border-color: transparent; - float: left; - color: #006fff; - padding-left: 50%; - padding: 0px 0px 0px 20px; - cursor:pointer; - background-position: left bottom; - margin-left: 2px; - } -{{/html5.show_fullscreen_button}} -{{#html5.show_made_with_defold}} - .link { - text-align: right; - color: #4e5258; - margin-right: 2px; - } - a { - font-weight: 600; - color: #006fff; - text-decoration: none; - } -{{/html5.show_made_with_defold}} - .link, .button { - font-family: sans-serif; - font-size: 14px; - font-weight: normal; - font-style: normal; - font-stretch: normal; - line-height: normal; - letter-spacing: 0px; - padding-top: 12px; - } - - .buttons-background { - background-color: #ffffff; - width: 100%; - height: 42px; - } - - body { - background-color: #ffffff; - } - - .canvas-app-container { - background: rgba(250,252,255,1); - background: -moz-linear-gradient(-45deg, rgba(250,252,255,1) 0%, rgba(250,252,255,1) 50%, rgba(245,249,255,1) 50%, rgba(245,249,255,1) 100%); - background: -webkit-gradient(left top, right bottom, color-stop(0%, rgba(250,252,255,1)), color-stop(50%, rgba(250,252,255,1)), color-stop(50%, rgba(245,249,255,1)), color-stop(100%, rgba(245,249,255,1))); - background: -webkit-linear-gradient(-45deg, rgba(250,252,255,1) 0%, rgba(250,252,255,1) 50%, rgba(245,249,255,1) 50%, rgba(245,249,255,1) 100%); - background: -o-linear-gradient(-45deg, rgba(250,252,255,1) 0%, rgba(250,252,255,1) 50%, rgba(245,249,255,1) 50%, rgba(245,249,255,1) 100%); - background: -ms-linear-gradient(-45deg, rgba(250,252,255,1) 0%, rgba(250,252,255,1) 50%, rgba(245,249,255,1) 50%, rgba(245,249,255,1) 100%); - background: linear-gradient(135deg, rgba(250,252,255,1) 0%, rgba(250,252,255,1) 50%, rgba(245,249,255,1) 50%, rgba(245,249,255,1) 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fafcff', endColorstr='#f5f9ff', GradientType=1 ); - } - - .canvas-app-canvas { - background-repeat:no-repeat; - background-position: center center; - background-size: contain; -{{#DEFOLD_SPLASH_IMAGE}} - background-image: url("{{DEFOLD_SPLASH_IMAGE}}"); -{{/DEFOLD_SPLASH_IMAGE}} -{{^DEFOLD_SPLASH_IMAGE}} - background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='300px' height='64px' viewBox='-2467.5 2469 300 64' style='enable-background:new -2467.5 2469 300 64;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%2315244A;%7D .st1%7Bfill:url(%23SVGID_1_);%7D .st2%7Bfill:url(%23SVGID_2_);%7D%0A%3C/style%3E%3Ctitle%3Edefold-logo-html5-splash%3C/title%3E%3Cpolygon class='st0' points='-2177,2482.9 -2175.5,2482.9 -2175.5,2486.7 -2174.4,2486.7 -2174.4,2482.9 -2173.2,2482.9 -2173.2,2481.9 -2177,2481.9 '/%3E%3Cpolygon class='st0' points='-2169.8,2484.1 -2171,2482.1 -2172.1,2482.1 -2172.1,2486.7 -2171,2486.7 -2171,2483.5 -2169.7,2485.6 -2169.7,2485.6 -2168.5,2483.5 -2168.5,2486.7 -2167.5,2486.7 -2167.5,2482.1 -2168.6,2482.1 '/%3E%3Cpath class='st0' d='M-2376,2482h-13.8v38h13.6c6.6,0,12.2-1.9,16.1-5.5c3.8-3.5,5.8-8.5,5.7-13.7v-0.1 C-2354.5,2489.3-2362.9,2482-2376,2482z M-2364,2501.2c0,6.7-4.5,10.9-11.8,10.9h-4.7v-22h4.7c7.3,0,11.8,4.2,11.8,10.9 L-2364,2501.2z'/%3E%3Cpolygon class='st0' points='-2340.9,2505 -2325.1,2505 -2325.1,2497.4 -2340.9,2497.4 -2340.9,2489.6 -2322.4,2489.6 -2322.4,2481.9 -2350.1,2481.9 -2350.1,2520 -2322.2,2520 -2322.2,2512.4 -2340.9,2512.4 '/%3E%3Cpolygon class='st0' points='-2317.1,2481.9 -2317.1,2520 -2307.9,2520 -2307.9,2505.9 -2293,2505.9 -2293,2498.4 -2307.9,2498.4 -2307.9,2489.9 -2289.6,2489.9 -2289.6,2481.9 '/%3E%3Cpolygon class='st0' points='-2233,2482.1 -2242.2,2482.1 -2242.2,2520 -2216.3,2520 -2216.3,2512.2 -2233,2512.2 '/%3E%3Cpath class='st0' d='M-2197.1,2482h-13.7v38h13.5c6.7,0,12.2-1.9,16.1-5.5c3.8-3.5,5.8-8.5,5.7-13.7v-0.1 C-2175.5,2489.3-2184,2482-2197.1,2482z M-2185.1,2501.2c0,6.7-4.5,10.9-11.8,10.9h-4.7v-22h4.7c7.3,0,11.8,4.2,11.8,10.9V2501.2z' /%3E%3Cpath class='st0' d='M-2267.5,2481.7c-10.8,0-19.6,8.8-19.6,19.7c0,10.8,8.8,19.6,19.7,19.6c10.8,0,19.6-8.8,19.6-19.6l0,0 C-2247.8,2490.5-2256.6,2481.7-2267.5,2481.7C-2267.5,2481.7-2267.5,2481.7-2267.5,2481.7z M-2258,2507.9l-8.8,5.1 c-0.5,0.3-1.2,0.3-1.8,0l-8.8-5.1c-0.5-0.3-0.9-0.9-0.9-1.5v-10.2c0-0.6,0.3-1.2,0.9-1.5l8.8-5.1c0.5-0.3,1.2-0.3,1.8,0l8.8,5.1 c0.5,0.3,0.9,0.9,0.9,1.5v10.2C-2257.1,2507-2257.4,2507.6-2258,2507.9z'/%3E%3Cpath class='st0' d='M-2423.2,2494.6l-11.1,6.4l-11.1-6.4l11.1-6.4L-2423.2,2494.6z M-2412.1,2501v12.8l11.1-6.4L-2412.1,2501z M-2467.5,2507.4l11.1,6.4V2501L-2467.5,2507.4z M-2434.3,2526.6l11.1,6.4l11.1-6.4l-11.1-6.4l11.1-6.4l-11.1-6.4l-11.1,6.4 l-11.1-6.4l-11.1,6.4l11.1,6.4l-11.1,6.4l11.1,6.4L-2434.3,2526.6z'/%3E%3ClinearGradient id='SVGID_1_' gradientUnits='userSpaceOnUse' x1='-2451.2178' y1='2525.4604' x2='-2406.2178' y2='2499.6304' gradientTransform='matrix(1 0 0 -1 0 5004)'%3E%3Cstop offset='0' style='stop-color:%231C68EC'/%3E%3Cstop offset='1' style='stop-color:%2300E9DF'/%3E%3C/linearGradient%3E%3Cpath class='st1' d='M-2412.1,2513.8v12.8l-11.1-6.4L-2412.1,2513.8z M-2434.3,2513.8V2501l-11.1-6.4v12.8L-2434.3,2513.8z M-2445.4,2469v12.8l11.1-6.4L-2445.4,2469z M-2412.1,2488.2L-2412.1,2488.2 M-2423.2,2507.4l11.1,6.4V2501l11.1,6.4v-12.8 l-11.1-6.4v-12.8l0,0l-11.1-6.4v12.8l-11.1-6.4v12.8l11.1,6.4V2507.4z'/%3E%3ClinearGradient id='SVGID_2_' gradientUnits='userSpaceOnUse' x1='-2465.9385' y1='2521.2493' x2='-2423.5085' y2='2496.7893' gradientTransform='matrix(1 0 0 -1 0 5004)'%3E%3Cstop offset='0' style='stop-color:%23FF3C2A'/%3E%3Cstop offset='1' style='stop-color:%23FFD215'/%3E%3C/linearGradient%3E%3Cpath class='st2' d='M-2434.3,2513.8V2501l11.1-6.4v12.8L-2434.3,2513.8z M-2434.3,2475.4l11.1,6.4V2469L-2434.3,2475.4z M-2456.5,2488.2L-2456.5,2488.2 M-2445.4,2494.6l11.1-6.4v-12.8l-11.1,6.4V2469l-11.1,6.4l0,0v12.8l-11.1,6.4v12.8l11.1-6.4v12.8 l11.1-6.4V2494.6z M-2456.5,2513.8v12.8l11.1-6.4L-2456.5,2513.8z'/%3E%3C/svg%3E%0A"); -{{/DEFOLD_SPLASH_IMAGE}} - } diff --git a/example/templates/button.gui b/example/templates/button.gui deleted file mode 100644 index 5e9eaf1..0000000 --- a/example/templates/button.gui +++ /dev/null @@ -1,141 +0,0 @@ -script: "" -fonts { - name: "game" - font: "/example/assets/fonts/game.font" -} -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 130.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_BOX - blend_mode: BLEND_MODE_ALPHA - texture: "kenney/button_blue" - id: "button" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - layer: "image" - inherit_alpha: true - slice9 { - x: 15.0 - y: 15.0 - z: 15.0 - w: 15.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: 7.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: 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: "Tap me!" - font: "game" - id: "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: 0.101960786 - y: 0.2 - z: 0.6 - w: 1.0 - } - adjust_mode: ADJUST_MODE_FIT - line_break: false - parent: "button" - layer: "text" - inherit_alpha: true - alpha: 1.0 - outline_alpha: 0.0 - shadow_alpha: 0.78 - template_node_child: false - text_leading: 1.0 - text_tracking: 0.0 -} -layers { - name: "image" -} -layers { - name: "text" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/templates/checkbox.gui b/example/templates/checkbox.gui deleted file mode 100644 index 1c9c506..0000000 --- a/example/templates/checkbox.gui +++ /dev/null @@ -1,126 +0,0 @@ -script: "" -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 38.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/check_back_square" - id: "back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - 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: 21.0 - y: 20.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/checkmark" - id: "check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back" - 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 -} -layers { - name: "image" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/example/templates/radio.gui b/example/templates/radio.gui deleted file mode 100644 index 1564295..0000000 --- a/example/templates/radio.gui +++ /dev/null @@ -1,126 +0,0 @@ -script: "" -textures { - name: "kenney" - texture: "/example/assets/images/kenney.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: 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/check_back_circle" - id: "back" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - 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.5 - y: 0.5 - 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: 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: "check" - xanchor: XANCHOR_NONE - yanchor: YANCHOR_NONE - pivot: PIVOT_CENTER - adjust_mode: ADJUST_MODE_FIT - parent: "back" - 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 -} -layers { - name: "image" -} -material: "/builtins/materials/gui.material" -adjust_reference: ADJUST_REFERENCE_PARENT -max_nodes: 512 diff --git a/game.project b/game.project index 3df4888..a9c06eb 100644 --- a/game.project +++ b/game.project @@ -7,7 +7,7 @@ shared_state = 1 [display] width = 600 height = 900 -display_profiles = /example/custom.display_profilesc +display_profiles = /builtins/render/default.display_profilesc dynamic_orientation = 1 high_dpi = 1 @@ -51,10 +51,10 @@ show_made_with_defold = 0 cssfile = /example/light_theme.css [native_extension] -app_manifest = /example/game.appmanifest +app_manifest = [graphics] -texture_profiles = /example/custom.texture_profiles +texture_profiles = /builtins/graphics/default.texture_profiles max_draw_calls = 128 verify_graphics_calls = 0