1
Fork 0
mirror of https://github.com/Steffo99/hella-farm.git synced 2024-11-22 08:04:23 +00:00

Rename methods and improve Priority

This commit is contained in:
Steffo 2024-04-19 01:30:03 +02:00
parent 32e00ede01
commit f1871a02ae
Signed by: steffo
GPG key ID: 5ADA3868646C3FC0

View file

@ -16,36 +16,42 @@ signal priority_changed_no_args
@export var default_priority: int = 0 @export var default_priority: int = 0
@export var alternative_priority: int = 1 @export var alternative_priority: int = 1
var priority: int = 0 var priority: int = 0:
get:
return priority
set(value):
var old = priority
priority = value
priority_changed.emit(priority, old)
## Set [field priority] to [field default_priority]. ## Set [field priority] to [field default_priority].
func default() -> void: func priority_default() -> void:
set_priority(default_priority) priority = default_priority
## Set [field priority] to [field alternative_priority] ## Set [field priority] to [field alternative_priority]
func alternative() -> void: func priority_alternative() -> void:
set_priority(alternative_priority) priority = alternative_priority
## Toggle [field priority] between [field default_priority] and [field alternative_priority]. ## Toggle [field priority] between [field default_priority] and [field alternative_priority].
func toggle_priority() -> void: func priority_toggle() -> void:
if priority == default_priority: if priority == default_priority:
set_priority(alternative_priority) priority = alternative_priority
else: else:
set_priority(default_priority) priority = default_priority
## Set the [field priority] to a specific value. ## Set the [field priority] to a specific value.
func set_priority(value: int): func priority_set(value: int):
var old = priority
priority = value priority = value
priority_changed.emit(priority, old)
## Set the [field priority] to a specific value if the [param variant] is truthy, otherwise set it to a different value. ## Set the [field priority] to a specific value if the [param variant] is truthy, otherwise set it to a different value.
func set_priority_if_truthy(variant: Variant, truthy: int, falsy: int = 0): ##
## Defaults to using [field alternative_priority] for truthy, and [field default_priority] for falsy
func priority_conditional(variant: Variant, truthy: int = alternative_priority, falsy: int = default_priority):
if variant: if variant:
set_priority(truthy) priority = truthy
else: else:
set_priority(falsy) priority = falsy
## Get the node to which the [field priority] of this one applies to. ## Get the node to which the [field priority] of this one applies to.
func get_ref() -> Node: func get_ref() -> Node: