diff --git a/addons/dialogic/Editor/Events/EventBlock/event_block.gd b/addons/dialogic/Editor/Events/EventBlock/event_block.gd index 7d1923b3b..3d3ebeab7 100644 --- a/addons/dialogic/Editor/Events/EventBlock/event_block.gd +++ b/addons/dialogic/Editor/Events/EventBlock/event_block.gd @@ -163,7 +163,8 @@ var FIELD_SCENES := { DialogicEvent.ValueType.NUMBER: "res://addons/dialogic/Editor/Events/Fields/field_number.tscn", DialogicEvent.ValueType.VECTOR2: "res://addons/dialogic/Editor/Events/Fields/field_vector2.tscn", DialogicEvent.ValueType.VECTOR3: "res://addons/dialogic/Editor/Events/Fields/field_vector3.tscn", - DialogicEvent.ValueType.VECTOR4: "res://addons/dialogic/Editor/Events/Fields/field_vector4.tscn" + DialogicEvent.ValueType.VECTOR4: "res://addons/dialogic/Editor/Events/Fields/field_vector4.tscn", + DialogicEvent.ValueType.COLOR: "res://addons/dialogic/Editor/Events/Fields/field_color.tscn" } func build_editor(build_header:bool = true, build_body:bool = false) -> void: diff --git a/addons/dialogic/Editor/Events/Fields/field_color.gd b/addons/dialogic/Editor/Events/Fields/field_color.gd new file mode 100644 index 000000000..707dfc51b --- /dev/null +++ b/addons/dialogic/Editor/Events/Fields/field_color.gd @@ -0,0 +1,30 @@ +@tool +extends DialogicVisualEditorField + +## Event block field for color values. + +#region MAIN METHODS +################################################################################ + +func _ready() -> void: + self.color_changed.connect(_on_value_changed) + + +func _load_display_info(info:Dictionary) -> void: + self.edit_alpha = info.get("edit_alpha", true) + + +func _set_value(value:Variant) -> void: + if value is Color: + self.color = Color(value) + +#endregion + + +#region SIGNAL METHODS +################################################################################ + +func _on_value_changed(value: Color) -> void: + value_changed.emit(property_name, value) + +#endregion diff --git a/addons/dialogic/Editor/Events/Fields/field_color.tscn b/addons/dialogic/Editor/Events/Fields/field_color.tscn new file mode 100644 index 000000000..5fd3ff287 --- /dev/null +++ b/addons/dialogic/Editor/Events/Fields/field_color.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=3 uid="uid://4e0kjekan5e7"] + +[ext_resource type="Script" path="res://addons/dialogic/Editor/Events/Fields/field_color.gd" id="1_l666a"] + +[node name="Field_Color" type="ColorPickerButton"] +custom_minimum_size = Vector2(48, 0) +offset_right = 64.0 +offset_bottom = 31.0 +theme_type_variation = &"DialogicEventEdit" +text = " " +color = Color(1, 1, 1, 1) +script = ExtResource("1_l666a") diff --git a/addons/dialogic/Resources/event.gd b/addons/dialogic/Resources/event.gd index 2f1e08d60..fa1046a86 100644 --- a/addons/dialogic/Resources/event.gd +++ b/addons/dialogic/Resources/event.gd @@ -93,7 +93,7 @@ enum ValueType { NUMBER, VECTOR2, VECTOR3, VECTOR4, # Other - CUSTOM, BUTTON, LABEL + CUSTOM, BUTTON, LABEL, COLOR } ## List that stores the fields for the editor var editor_list: Array = []