diff --git a/druid/druid.script b/druid/druid.script index 8306eff..61738f7 100644 --- a/druid/druid.script +++ b/druid/druid.script @@ -1,5 +1,7 @@ -- Place this script nearby with the gui component to able make requests -- To the go namespace from GUI with events systems (cross context) +-- This one is a required to make a unified "Shaders" pipeline in the GUI scripts +-- This required to grab a texture data with `go.get` function local defer = require("event.defer") diff --git a/druid/druid_widget.gui_script b/druid/druid_widget.gui_script index 8956239..6d1b1d1 100644 --- a/druid/druid_widget.gui_script +++ b/druid/druid_widget.gui_script @@ -1,28 +1,30 @@ -local druid = require("druid.druid") +--- Attach this script to your GUI file instead custom *.gui_script file +--- This allows to grab a widget from the GO scripts by gui_url +--- To do this you need to call `druid.get_widget` in the GO script +--- The new widget will be created and returned to GO script +--- And now all top level functions from the widget will be available in the GO script +--- Use with caution, this is a new feature, but allow utilize flexability of `event` module +local druid = require("druid.druid") function init(self) self.druid = druid.new(self) druid.register_druid_as_widget(self.druid) end - function final(self) druid.unregister_druid_as_widget() 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/druid/editor_scripts/assign_layers.lua b/druid/editor_scripts/assign_layers.lua index 0078157..da85492 100644 --- a/druid/editor_scripts/assign_layers.lua +++ b/druid/editor_scripts/assign_layers.lua @@ -60,12 +60,11 @@ end ---Remove a backup file ---@param backup_path string - The path of the backup file to remove local function remove_backup(backup_path) - print("Removing backup file:", backup_path) - local success, err = os.remove(backup_path) - if not success then - print("Warning: Could not remove backup file:", err) - print("You may want to manually remove it:", backup_path) - else + -- Check file exists and remove it + local file = io.open(backup_path, "r") + if file then + file:close() + os.remove(backup_path) print("Backup file removed successfully") end end diff --git a/druid/editor_scripts/create_druid_widget.lua b/druid/editor_scripts/create_druid_widget.lua index a2fbe3c..75b2116 100644 --- a/druid/editor_scripts/create_druid_widget.lua +++ b/druid/editor_scripts/create_druid_widget.lua @@ -9,8 +9,8 @@ local function to_camel_case(snake_str) end -function M.create_druid_widget(opts) - local gui_filepath = editor.get(opts.selection, "path") +function M.create_druid_widget(selection) + local gui_filepath = editor.get(selection, "path") local filename = gui_filepath:match("([^/]+)%.gui$") print("Create Druid widget for", gui_filepath)