Skip to content

Commit f02a3cf

Browse files
committed
feat: interpret negative float ranges as use default values
1 parent 6022a34 commit f02a3cf

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

addons/simple-gui-transitions/transition.gd

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ export(ExportBool) var auto_start = ExportBool.DEFAULT
133133
export(ExportBool) var fade_layout = ExportBool.DEFAULT
134134
export(Anim) var animation_enter := Anim.DEFAULT
135135
export(Anim) var animation_leave := Anim.DEFAULT
136-
export(float, 0.1, 2.0, 0.01) var duration := DefaultValues.DEFAULT_DURATION
137-
export(float, 0.0, 1.0, 0.01) var delay := DefaultValues.DEFAULT_DELAY
136+
export(float, -0.01, 2.0, 0.01) var duration := -0.01
137+
export(float, -0.01, 1.0, 0.01) var delay := -0.01
138138
export var layout_id := ""
139139
export(NodePath) var layout: NodePath
140140
export(Array, NodePath) var controls := []
@@ -231,6 +231,7 @@ func _get_custom_settings() -> void:
231231
var exported_bools := ["auto_start", "fade_layout", "center_pivot"]
232232
var exported_strings := ["transition_type", "ease_type"]
233233
var exported_anims := ["animation_enter", "animation_leave"]
234+
var exported_floats := ["duration", "delay"]
234235

235236
for setting in DefaultValues.DEFAULT_SETTINGS:
236237
if not ProjectSettings.has_setting(setting["name"]):
@@ -255,6 +256,10 @@ func _get_custom_settings() -> void:
255256
result = _process_anim_value(current_value, settings_value, default_value)
256257
current_value = result.get("value")
257258

259+
elif prop_name in exported_floats:
260+
result = _process_float_value(current_value, settings_value, default_value)
261+
current_value = result.get("value")
262+
258263
if result.get("use_default"):
259264
self.set(prop_name, settings_value if settings_value != null else default_value)
260265
if DEBUG: prints("GuiTransition", prop_name, "set to", settings_value, "from project settings:", self)
@@ -280,6 +285,18 @@ func _process_string_value(value: String, settings_value: String, default_value:
280285
return _get_result_dict(value if value else fallback_value, false)
281286

282287

288+
# Process value from float range.
289+
func _process_float_value(value: float, settings_value: float, default_value: float) -> Dictionary:
290+
var fallback_value = settings_value \
291+
if settings_value != null and settings_value >= 0.0 \
292+
else default_value
293+
294+
if value < 0.0:
295+
return _get_result_dict(fallback_value, true)
296+
297+
return _get_result_dict(value, false)
298+
299+
283300
# Process Anim enum value (default or animation names).
284301
func _process_anim_value(value: int, settings_value: int, default_value: int) -> Dictionary:
285302
var fallback_value = settings_value if settings_value != null else default_value

0 commit comments

Comments
 (0)