diff --git a/example/example.gui b/example/example.gui index 6c88d09..a6be5e9 100644 --- a/example/example.gui +++ b/example/example.gui @@ -1073,6 +1073,171 @@ nodes { text_leading: 1.0 text_tracking: 0.0 } +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 +} +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 +} +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 +} nodes { position { x: 0.0 diff --git a/example/example.gui_script b/example/example.gui_script index c5825b2..c7642bc 100644 --- a/example/example.gui_script +++ b/example/example.gui_script @@ -3,6 +3,7 @@ local druid = require("druid.druid") local monarch = require("monarch.monarch") local default_style = require("druid.styles.default.style") + local function back_to_lobby(self) if gui.set_enabled(self.button_menu.node) then return @@ -11,6 +12,9 @@ local function back_to_lobby(self) 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") end @@ -22,6 +26,8 @@ local function show_scene(self, scene_name, text_header) 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) end @@ -38,9 +44,11 @@ local function init_top_panel(self) sys.open_url("https://insality.github.io/druid/") end) - -- self.button_code = self.druid:new_button("button_code/button", function() - -- sys.open_url("https://github.com/Insality/druid/blob/develop/example/examples/general/overview/overview.gui_script") - -- 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 @@ -61,7 +69,7 @@ local function get_title(self, text) end -local function get_button(self, text, scene_name) +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"] @@ -70,6 +78,7 @@ local function get_button(self, text, scene_name) self.scene_names[scene_name] = text self.druid:new_button(root, function() + self.current_script_url = script_url show_scene(self, scene_name, text) end):set_click_zone(self.lobby_scroll.view_node) @@ -100,21 +109,21 @@ local function init_lobby(self) self.lobby_scroll:bind_grid(self.lobby_grid) self.lobby_grid:add(get_title(self, "General examples")) - self.lobby_grid:add(get_button(self, "Overview", "general_overview")) - self.lobby_grid:add(get_button(self, "Buttons", "general_buttons")) - self.lobby_grid:add(get_button(self, "Sliders", "general_sliders")) - self.lobby_grid:add(get_button(self, "Scrolls", "general_scroll")) - self.lobby_grid:add(get_button(self, "Grids", "general_grid")) + 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_disabled(self, "Progress Bar", "scene_name")) - self.lobby_grid:add(get_button(self, "Data List", "general_data_list")) + 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_disabled(self, "Checkboxes", "scene_name")) - self.lobby_grid:add(get_button(self, "Input text", "general_input")) + self.lobby_grid:add(get_button(self, "Input text", "general_input", "/general/input/input.gui_script")) self.lobby_grid:add(get_button_disabled(self, "Swipe", "scene_name")) self.lobby_grid:add(get_button_disabled(self, "Drag", "scene_name")) self.lobby_grid:add(get_title(self, "Texts")) - self.lobby_grid:add(get_button(self, "Texts", "texts_general")) - self.lobby_grid:add(get_button(self, "Adjust types", "texts_adjust")) + 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_disabled(self, "Lang Text", "texts_lang_text")) self.lobby_grid:add(get_title(self, "Scrolls")) @@ -123,25 +132,25 @@ local function init_lobby(self) 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")) - self.lobby_grid:add(get_button(self, "Static with dynamic pos", "grid_static_grid_dynamic_pos")) + 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")) + 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")) - self.lobby_grid:add(get_button(self, "With dynamic grid", "data_list_dynamic_grid")) + 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_disabled(self, "Add/remove elements", "data_list_add_remove_nodes")) - self.lobby_grid:add(get_button(self, "Navigate over elements", "data_list_navigate")) + self.lobby_grid:add(get_button(self, "Navigate over elements", "data_list_navigate", "/data_list/navigate/navigate.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")) + 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, "Custom components")) 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")) + 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")) end @@ -168,6 +177,7 @@ function init(self) init_top_panel(self) init_lobby(self) + self.current_script_url = "" timer.delay(0, false, check_url) end