@@ -22,7 +22,7 @@ function M.register(node_or_string, callback)
22
22
assert (node_or_string , " You must provide a node" )
23
23
assert (callback , " You must provide a callback" )
24
24
local node = ensure_node (node_or_string )
25
- registered_nodes [node ] = { url = msg .url (), callback = callback , node = node }
25
+ registered_nodes [node ] = { url = msg .url (), callback = callback , node = node , scale = gui . get_scale ( node ) }
26
26
end
27
27
28
28
--- Unregister a previously registered node or all nodes
@@ -42,14 +42,15 @@ function M.unregister(node_or_string)
42
42
end
43
43
end
44
44
45
- local function shake (node )
45
+ local function shake (node , initial_scale )
46
46
gui .cancel_animation (node , " scale.x" )
47
47
gui .cancel_animation (node , " scale.y" )
48
+ gui .set_scale (node , initial_scale )
48
49
local scale = gui .get_scale (node )
49
50
gui .set_scale (node , scale * 1.2 )
50
51
gui .animate (node , " scale.x" , scale .x , gui .EASING_OUTELASTIC , 0.8 )
51
52
gui .animate (node , " scale.y" , scale .y , gui .EASING_OUTELASTIC , 0.8 , 0.05 , function ()
52
- gui .set_scale (node , scale )
53
+ gui .set_scale (node , initial_scale )
53
54
end )
54
55
end
55
56
@@ -75,7 +76,7 @@ function M.on_input(action_id, action)
75
76
if registered_node .url == url then
76
77
local node = registered_node .node
77
78
if is_enabled (node ) and gui .pick_node (node , action .x , action .y ) then
78
- shake (node )
79
+ shake (node , registered_node . scale )
79
80
registered_node .callback ()
80
81
return true
81
82
end
0 commit comments