Skip to content

Commit 26c0a13

Browse files
committed
Update timeline class
This commit tries to connect the changed signal of the event to the changed signal to the timeline, in order to tell the editor that the resource was modified and should be saved.
1 parent ebfb160 commit 26c0a13

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

plugin_script.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ func _on_TimelineEditor_event_selected(event:_Event) -> void:
143143
return
144144

145145
_last_selected_node = _focus_owner
146-
get_editor_interface().inspect_object(event, "", true)
146+
get_editor_interface().edit_resource(event)
147147
_focus_owner.grab_focus()
148148

149149

resources/timeline_class/timeline_class.gd

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var last_event = null
1010
var next_event = null
1111
var _curr_evnt_idx:int = -1
1212

13-
var _events:Array = []
13+
var _events:Array = [] setget set_events
1414
var _event_queue:Array = []
1515
var _can_loop:bool = false setget ,can_loop
1616

@@ -19,16 +19,36 @@ func initialize() -> void:
1919
_event_queue = get_events()
2020

2121

22+
func set_events(events:Array) -> void:
23+
for item in _events:
24+
item = item as Resource
25+
if item == null:
26+
continue
27+
if item.is_connected("changed", self, "emit_changed"):
28+
item.disconnect("changed", self, "emit_changed")
29+
for item in events:
30+
item = item as Resource
31+
if not item.is_connected("changed", self, "emit_changed"):
32+
item.connect("changed", self, "emit_changed")
33+
_events = events.duplicate()
34+
emit_changed()
35+
property_list_changed_notify()
36+
37+
2238
func add_event(event, at_position=-1) -> void:
2339
if at_position >= 0:
2440
_events.insert(at_position, event)
2541
else:
2642
_events.append(event)
43+
if not event.is_connected("changed", self, "emit_changed"):
44+
event.connect("changed", self, "emit_changed")
2745
emit_changed()
2846

2947

3048
func erase_event(event) -> void:
3149
_events.erase(event)
50+
if event.is_connected("changed", self, "emit_changed"):
51+
event.disconnect("changed", self, "emit_changed")
3252
emit_changed()
3353

3454

0 commit comments

Comments
 (0)