Skip to content

Commit

Permalink
load resources from a subdirectory to avoid conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
Airyzz committed Feb 9, 2025
1 parent e51b2f5 commit eb5b0c8
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 8 deletions.
2 changes: 2 additions & 0 deletions addons/material_maker/engine/nodes/gen_base.gd
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,8 @@ static func remove_comments(s : String) -> String:
if comment_end != -1:
s = s.erase(comment_begin, comment_end-comment_begin+2)
cont = true


s = re_line_comment.sub(s, "", true)
return s

Expand Down
3 changes: 3 additions & 0 deletions addons/material_maker/engine/plugin/plugin_context.gd
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ class PluginContext:

print("Loading dependency: " + file_path)
var resource = ResourceLoader.load(file_path)
if resource == null:
return null

print(resource)
resource.take_over_path(resource_path)
return resource
23 changes: 15 additions & 8 deletions addons/material_maker/engine/plugin/plugin_loader.gd
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,15 @@ func load_plugins():
print(directories)

for directory in directories:

print(directory)
var scene_path = "user://plugins/" + directory + "/plugin.tscn"
var plugin_folder = "user://plugins/" + directory
var plugin_content = DirAccess.open(plugin_folder)
var plugin_directories = plugin_content.get_directories()
print(plugin_directories)

var plugin_id = plugin_directories[0]
var scene_path = "user://plugins/" + directory + "/" + plugin_id + "/plugin.tscn"
print(scene_path)

var real_path = "user://plugins/" + directory
Expand All @@ -30,19 +37,19 @@ func load_plugins():
for dependency in dependencies:
context.load_resource(dependency)

print("Dependencies:")
print(dependencies)

var scene = ResourceLoader.load(scene_path)
if scene == null:
continue

if not scene is PackedScene:
continue

var plugin_node = scene.instantiate()
var id = plugin_node.get_id()

var addon_instance = instance.instantiate()

addon_instance.name = id
addon_instance.name = plugin_id
addon_instance.context = context

mm_plugins.add_child(addon_instance)
addon_instance.add_child(plugin_node)
print("Finished loading plugin: " + id)
print("Finished loading plugin: " + plugin_id)

0 comments on commit eb5b0c8

Please sign in to comment.