diff --git a/material_maker/tools/environment_manager/environment_manager.gd b/material_maker/tools/environment_manager/environment_manager.gd index b6a7a8b62..f1f7fcc68 100644 --- a/material_maker/tools/environment_manager/environment_manager.gd +++ b/material_maker/tools/environment_manager/environment_manager.gd @@ -101,11 +101,11 @@ func set_value(index, variable, value, force = false): environments[index][variable] = serialized_value if variable == "hdri_url": await read_hdr(index, value) - emit_signal("environment_updated", index) + environment_updated.emit(index) elif variable == "name": - emit_signal("name_updated", index, value) + name_updated.emit(index, value) else: - emit_signal("environment_updated", index) + environment_updated.emit(index) update_thumbnail(index) func apply_environment(index: int, e: Environment, s: DirectionalLight3D, bg_color := Color.TRANSPARENT, force_color := false) -> void: diff --git a/material_maker/widgets/float_edit/float_edit.gd b/material_maker/widgets/float_edit/float_edit.gd index fdbd24da9..914e1377b 100644 --- a/material_maker/widgets/float_edit/float_edit.gd +++ b/material_maker/widgets/float_edit/float_edit.gd @@ -1,3 +1,4 @@ +class_name FloatEdit extends Container var float_value: float = 0.5 @@ -59,9 +60,9 @@ var mode := Modes.IDLE: var editable := true: set(val): if val: - mode = Modes.UNEDITABLE - else: mode = Modes.IDLE + else: + mode = Modes.UNEDITABLE get: return mode != Modes.UNEDITABLE diff --git a/material_maker/widgets/float_edit/float_edit.tscn b/material_maker/widgets/float_edit/float_edit.tscn index 0576545b9..bd903dce8 100644 --- a/material_maker/widgets/float_edit/float_edit.tscn +++ b/material_maker/widgets/float_edit/float_edit.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://rflulhsuy3ax"] -[ext_resource type="Script" path="res://material_maker/widgets/float_edit/float_edit.gd" id="1"] +[ext_resource type="Script" uid="uid://c4own5hljyjue" path="res://material_maker/widgets/float_edit/float_edit.gd" id="1"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_t5q7m"] content_margin_left = 3.0 diff --git a/material_maker/windows/environment_editor/environment_editor.gd b/material_maker/windows/environment_editor/environment_editor.gd index 99a4bc303..901cb06fb 100644 --- a/material_maker/windows/environment_editor/environment_editor.gd +++ b/material_maker/windows/environment_editor/environment_editor.gd @@ -32,15 +32,14 @@ func _unhandled_input(event: InputEvent) -> void: func connect_controls() -> void: for c in ui.get_children(): - if c is LineEdit: - if c.get_script() == preload("res://material_maker/widgets/float_edit/float_edit.gd"): - c.connect("value_changed", Callable(self, "set_environment_value").bind(c.name)) - else: - c.connect("text_submitted", Callable(self, "set_environment_value").bind(c.name)) + if c is FloatEdit: + c.value_changed.connect(set_environment_value.bind(c.name)) + elif c is LineEdit: + c.text_submitted.connect(set_environment_value.bind(c.name)) elif c is ColorPickerButton: - c.connect("color_changed", Callable(self, "set_environment_value").bind(c.name)) + c.color_changed.connect(set_environment_value.bind(c.name)) elif c is CheckBox: - c.connect("toggled", Callable(self, "set_environment_value").bind(c.name)) + c.toggled.connect(set_environment_value.bind(c.name)) func set_environment_value(value, variable): environment_manager.set_value(current_environment, variable, value) @@ -111,6 +110,8 @@ func set_current_environment(index : int) -> void: for c in ui.get_children(): if c is LineEdit: c.editable = !read_only + elif c is FloatEdit: + c.editable = !read_only elif c is ColorPickerButton or c is CheckBox: c.disabled = read_only