some shake
This commit is contained in:
53
addons/shaker/data/ShakerPresetBase.gd
Normal file
53
addons/shaker/data/ShakerPresetBase.gd
Normal file
@@ -0,0 +1,53 @@
|
||||
@tool
|
||||
@icon("res://addons/shaker/assets/ShakerPreset.svg")
|
||||
class_name ShakerPresetBase
|
||||
extends Resource
|
||||
|
||||
# Enum for shake categories
|
||||
enum Categories {
|
||||
POSITION,
|
||||
ROTATION,
|
||||
SCALE
|
||||
}
|
||||
|
||||
# Graph panel reference
|
||||
var Graph: Panel
|
||||
|
||||
# Bake internal setting
|
||||
@export_range(16, 96) var bake_internal: int = 64:
|
||||
set = set_bake_internal,
|
||||
get = get_bake_internal
|
||||
|
||||
# Follow timeline flag
|
||||
@export var __follow_timeline: bool = false:
|
||||
set = set_follow_timeline,
|
||||
get = get_follow_timeline
|
||||
|
||||
# Component duration and parent node
|
||||
var component_duration: float = 0.0
|
||||
var parent: Node
|
||||
|
||||
# Signal for property changes
|
||||
signal property_changed(name: StringName)
|
||||
|
||||
func set_bake_internal(value: int) -> void:
|
||||
bake_internal = clamp(value, 16, 96)
|
||||
_on_property_changed("bake_internal")
|
||||
|
||||
func get_bake_internal() -> int:
|
||||
return bake_internal
|
||||
|
||||
func set_follow_timeline(value: bool) -> void:
|
||||
__follow_timeline = value
|
||||
_on_property_changed("__follow_timeline")
|
||||
|
||||
func get_follow_timeline() -> bool:
|
||||
return __follow_timeline
|
||||
|
||||
# Handle property changes
|
||||
func _on_property_changed(property_name: StringName) -> void:
|
||||
property_changed.emit(property_name)
|
||||
|
||||
# Calculate the difference between two arrays
|
||||
func _array_difference(a: Array, b: Array) -> Array:
|
||||
return b.filter(func(item): return not a.has(item))
|
||||
Reference in New Issue
Block a user