@@ -3,11 +3,14 @@ extends EditorPlugin
3
3
4
4
var control := MarginContainer .new ()
5
5
var panel : Control
6
- var default_parent : Control
6
+ var default_parent : Control
7
+ var script_editor :ScriptEditor = null
8
+ var last_screen := ''
7
9
10
+
8
11
9
- var script_editor : ScriptEditor = null
10
- func _enter_tree ():
12
+ func _enter_tree () -> void :
13
+ # print(" current screen " ,get_main_screen())
11
14
script_editor = EditorInterface .get_script_editor ()
12
15
script_editor .editor_script_changed .connect (script_visibility_changed )
13
16
script_editor .visibility_changed .connect (script_visibility_changed )
@@ -16,25 +19,42 @@ func _enter_tree():
16
19
panel = default_parent .get_child (0 )
17
20
panel .reparent (control )
18
21
19
-
20
22
control .size_flags_horizontal = Control .SIZE_EXPAND_FILL
21
23
control .size_flags_vertical = Control .SIZE_EXPAND_FILL
22
24
control .name = "Scripts"
23
25
add_control_to_dock (EditorPlugin .DOCK_SLOT_LEFT_BR , control )
24
-
26
+
27
+ ## connect to what screen is active
28
+ main_screen_changed .connect (screen_changed )
29
+
30
+
31
+
32
+ func screen_changed (screen )-> void :
33
+ last_screen = screen
34
+ if ! script_editor && ! script_editor .is_visible_in_tree ():
35
+ return
25
36
var parent : TabContainer = control .get_parent ()
26
- parent .print_tree ()
27
-
28
37
38
+ match screen :
39
+ "Script" :
40
+ parent .current_tab = control .get_index ()
41
+ _ :
42
+ parent .current_tab = 0
43
+
29
44
30
- func script_visibility_changed (a = null ):
31
- if ! script_editor .is_visible_in_tree ():
45
+ func script_visibility_changed (a = null )-> void :
46
+ if ! script_editor && ! script_editor .is_visible_in_tree ():
32
47
return
33
- var parent : TabContainer = control .get_parent ()
34
- parent .current_tab = control .get_index ()
48
+
49
+ if last_screen == "" :
50
+ return
51
+
52
+ if last_screen == "Script" :
53
+ var parent : TabContainer = control .get_parent ()
54
+ parent .current_tab = control .get_index ()
35
55
36
56
func _exit_tree ():
37
57
panel .reparent (default_parent )
38
58
default_parent .move_child (panel , 0 )
39
59
remove_control_from_docks (control )
40
-
60
+
0 commit comments