25 lines
631 B
GDScript
25 lines
631 B
GDScript
@tool
|
|
@icon("res://addons/shaker/assets/ShakerPreset.svg")
|
|
class_name ShakerProperty
|
|
extends Resource
|
|
|
|
@export var property_name:String
|
|
# Properties
|
|
@export var shake_type:ShakerTypeBase
|
|
|
|
# Signal for property changes
|
|
signal property_changed(name: StringName)
|
|
|
|
func _init(property_name:String="", shake_type:ShakerTypeBase=null) -> void:
|
|
self.property_name = property_name
|
|
self.shake_type = shake_type
|
|
|
|
# Handle property changes
|
|
func _on_property_changed(property_name: StringName) -> void:
|
|
property_changed.emit(property_name)
|
|
|
|
func get_value(_t:float) -> Variant:
|
|
if shake_type:
|
|
return shake_type.get_value(_t)
|
|
return 0.0
|