feat: made sure the aspect ration fit a pixel art game and added useful addons
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 6s
Create tag and build when new code gets to main / Export (push) Successful in 3m16s

This commit is contained in:
2025-06-27 15:19:12 +02:00
parent 4ec91c1277
commit 9a79715e47
550 changed files with 18812 additions and 0 deletions

View File

@ -0,0 +1,72 @@
@tool
## Triggers depending on whether the input changes while actuated. This trigger is
## is implicit, so it must succeed for all other triggers to succeed.
class_name GUIDETriggerStability
extends GUIDETrigger
enum TriggerWhen {
## Input must be stable
INPUT_IS_STABLE,
## Input must change
INPUT_CHANGES
}
## The maximum amount that the input can change after actuation before it is
## considered "changed".
@export var max_deviation:float = 1
## When should the trigger trigger?
@export var trigger_when:TriggerWhen = TriggerWhen.INPUT_IS_STABLE
var _initial_value:Vector3
var _deviated:bool = false
func _get_trigger_type() -> GUIDETriggerType:
return GUIDETriggerType.IMPLICIT
func _update_state(input:Vector3, delta:float, value_type:GUIDEAction.GUIDEActionValueType) -> GUIDETriggerState:
if _is_actuated(input, value_type):
if _deviated:
if trigger_when == TriggerWhen.INPUT_IS_STABLE:
return GUIDETriggerState.NONE
return GUIDETriggerState.TRIGGERED
if not _is_actuated(_last_value, value_type):
# we went from "not actuated" to actuated, start
_initial_value = input
if trigger_when == TriggerWhen.INPUT_IS_STABLE:
return GUIDETriggerState.TRIGGERED
else:
return GUIDETriggerState.ONGOING
# calculate how far the input is from the initial value
if _initial_value.distance_squared_to(input) > (max_deviation * max_deviation):
_deviated = true
if trigger_when == TriggerWhen.INPUT_IS_STABLE:
return GUIDETriggerState.NONE
return GUIDETriggerState.TRIGGERED
if trigger_when == TriggerWhen.INPUT_IS_STABLE:
return GUIDETriggerState.TRIGGERED
return GUIDETriggerState.ONGOING
# if the input is not actuated
_deviated = false
return GUIDETriggerState.NONE
func _editor_name() -> String:
return "Stability"
func _editor_description() -> String:
return "Triggers depending on whether the input changes while actuated. This trigger\n" +\
"is implicit, so it must succeed for all other triggers to succeed."