|
|
@@ -564,6 +564,7 @@ public class LevelEditorApplication : Gtk.Application
|
|
|
{ "create-script", on_create_script, "(ssb)", null },
|
|
|
{ "create-unit", on_create_unit, "(ss)", null },
|
|
|
{ "create-state-machine", on_create_state_machine, "(sss)", null },
|
|
|
+ { "create-material", on_create_material, "(ss)", null },
|
|
|
{ "open-containing", on_open_containing, "s", null },
|
|
|
{ "texture-settings", on_texture_settings, "s", null },
|
|
|
{ "reveal-resource", on_reveal, "(ss)", null }
|
|
|
@@ -3062,6 +3063,22 @@ public class LevelEditorApplication : Gtk.Application
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ private void on_create_material(GLib.SimpleAction action, GLib.Variant? param)
|
|
|
+ {
|
|
|
+ string dir_name = (string)param.get_child_value(0);
|
|
|
+ string material_name = (string)param.get_child_value(1);
|
|
|
+
|
|
|
+ int ec = _project.create_material(dir_name, material_name);
|
|
|
+ if (ec < 0) {
|
|
|
+ loge("Failed to create material %s".printf(material_name));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ _data_compiler.compile.begin(_project.data_dir(), _project.platform(), (obj, res) => {
|
|
|
+ _data_compiler.compile.end(res);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
private void on_open_containing(GLib.SimpleAction action, GLib.Variant? param)
|
|
|
{
|
|
|
string path = param.get_string();
|