@@ -26,6 +26,7 @@ internal struct MonoReloadableIntPtrClear
2626 internal sealed class ScriptReloadProperties : ScriptableObject
2727 {
2828 public bool EditorGUI_IsActuallEditing ;
29+ public bool EditorGUI_TextEditor_needBackup ;
2930 public int EditorGUI_TextEditor_cursorIndex ;
3031 public int EditorGUI_TextEditor_selectIndex ;
3132 public int EditorGUI_TextEditor_controlID ;
@@ -35,7 +36,7 @@ internal sealed class ScriptReloadProperties : ScriptableObject
3536 public Vector2 EditorGUI_TextEditor_graphicalCursorPos ;
3637 public string EditorGUI_TextEditor_content ;
3738 public string EditorGUI_Current_Editing_String ;
38-
39+ private bool EditorGUI_DelayedTextEditor_needBackup ;
3940 public int EditorGUI_DelayedTextEditor_cursorIndex ;
4041 public int EditorGUI_DelayedTextEditor_selectIndex ;
4142 public int EditorGUI_DelayedTextEditor_controlID ;
@@ -64,47 +65,64 @@ static void Load(ScriptReloadProperties properties)
6465 private void ManagedStore ( )
6566 {
6667 EditorGUI_IsActuallEditing = EditorGUI . RecycledTextEditor . s_ActuallyEditing ;
67- EditorGUI_TextEditor_cursorIndex = EditorGUI . s_RecycledEditor . cursorIndex ;
68- EditorGUI_TextEditor_selectIndex = EditorGUI . s_RecycledEditor . selectIndex ;
69- EditorGUI_TextEditor_controlID = EditorGUI . s_RecycledEditor . controlID ;
70- EditorGUI_TextEditor_hasHorizontalCursorPos = EditorGUI . s_RecycledEditor . hasHorizontalCursor ;
71- EditorGUI_TextEditor_scrollOffset = EditorGUI . s_RecycledEditor . scrollOffset ;
72- EditorGUI_TextEditor_hasFocus = EditorGUI . s_RecycledEditor . m_HasFocus ;
73- EditorGUI_TextEditor_graphicalCursorPos = EditorGUI . s_RecycledEditor . graphicalCursorPos ;
74- EditorGUI_TextEditor_content = EditorGUI . s_RecycledEditor . text ;
68+
69+ EditorGUI_TextEditor_needBackup = EditorGUI . s_RecycledEditorInternal != null ;
70+ if ( EditorGUI_TextEditor_needBackup )
71+ {
72+ EditorGUI_TextEditor_cursorIndex = EditorGUI . s_RecycledEditor . cursorIndex ;
73+ EditorGUI_TextEditor_selectIndex = EditorGUI . s_RecycledEditor . selectIndex ;
74+ EditorGUI_TextEditor_controlID = EditorGUI . s_RecycledEditor . controlID ;
75+ EditorGUI_TextEditor_hasHorizontalCursorPos = EditorGUI . s_RecycledEditor . hasHorizontalCursor ;
76+ EditorGUI_TextEditor_scrollOffset = EditorGUI . s_RecycledEditor . scrollOffset ;
77+ EditorGUI_TextEditor_hasFocus = EditorGUI . s_RecycledEditor . m_HasFocus ;
78+ EditorGUI_TextEditor_graphicalCursorPos = EditorGUI . s_RecycledEditor . graphicalCursorPos ;
79+ EditorGUI_TextEditor_content = EditorGUI . s_RecycledEditor . text ;
80+ }
7581 EditorGUI_Current_Editing_String = EditorGUI . s_RecycledCurrentEditingString ;
76- EditorGUI_DelayedTextEditor_cursorIndex = EditorGUI . s_DelayedTextEditor . cursorIndex ;
77- EditorGUI_DelayedTextEditor_selectIndex = EditorGUI . s_DelayedTextEditor . selectIndex ;
78- EditorGUI_DelayedTextEditor_controlID = EditorGUI . s_DelayedTextEditor . controlID ;
79- EditorGUI_DelayedTextEditor_hasHorizontalCursorPos = EditorGUI . s_DelayedTextEditor . hasHorizontalCursor ;
80- EditorGUI_DelayedTextEditor_scrollOffset = EditorGUI . s_DelayedTextEditor . scrollOffset ;
81- EditorGUI_DelayedTextEditor_hasFocus = EditorGUI . s_DelayedTextEditor . m_HasFocus ;
82- EditorGUI_DelayedTextEditor_graphicalCursorPos = EditorGUI . s_DelayedTextEditor . graphicalCursorPos ;
83- EditorGUI_DelayedTextEditor_content = EditorGUI . s_DelayedTextEditor . text ;
84- EditorGUI_DelayedControlThatHadFocusValue = EditorGUI . s_DelayedTextEditor . controlThatHadFocusValue ;
82+
83+ EditorGUI_DelayedTextEditor_needBackup = EditorGUI . s_DelayedTextEditorInternal != null ;
84+ if ( EditorGUI_DelayedTextEditor_needBackup )
85+ {
86+ EditorGUI_DelayedTextEditor_cursorIndex = EditorGUI . s_DelayedTextEditor . cursorIndex ;
87+ EditorGUI_DelayedTextEditor_selectIndex = EditorGUI . s_DelayedTextEditor . selectIndex ;
88+ EditorGUI_DelayedTextEditor_controlID = EditorGUI . s_DelayedTextEditor . controlID ;
89+ EditorGUI_DelayedTextEditor_hasHorizontalCursorPos = EditorGUI . s_DelayedTextEditor . hasHorizontalCursor ;
90+ EditorGUI_DelayedTextEditor_scrollOffset = EditorGUI . s_DelayedTextEditor . scrollOffset ;
91+ EditorGUI_DelayedTextEditor_hasFocus = EditorGUI . s_DelayedTextEditor . m_HasFocus ;
92+ EditorGUI_DelayedTextEditor_graphicalCursorPos = EditorGUI . s_DelayedTextEditor . graphicalCursorPos ;
93+ EditorGUI_DelayedTextEditor_content = EditorGUI . s_DelayedTextEditor . text ;
94+ EditorGUI_DelayedControlThatHadFocusValue = EditorGUI . s_DelayedTextEditor . controlThatHadFocusValue ;
95+ }
8596 }
8697
8798 private void ManagedLoad ( )
8899 {
89- EditorGUI . s_RecycledEditor . text = EditorGUI_TextEditor_content ;
90100 EditorGUI . s_RecycledCurrentEditingString = EditorGUI_Current_Editing_String ;
91101 EditorGUI . RecycledTextEditor . s_ActuallyEditing = EditorGUI_IsActuallEditing ;
92- EditorGUI . s_RecycledEditor . cursorIndex = EditorGUI_TextEditor_cursorIndex ;
93- EditorGUI . s_RecycledEditor . selectIndex = EditorGUI_TextEditor_selectIndex ;
94- EditorGUI . s_RecycledEditor . controlID = EditorGUI_TextEditor_controlID ;
95- EditorGUI . s_RecycledEditor . hasHorizontalCursor = EditorGUI_TextEditor_hasHorizontalCursorPos ;
96- EditorGUI . s_RecycledEditor . scrollOffset = EditorGUI_TextEditor_scrollOffset ;
97- EditorGUI . s_RecycledEditor . m_HasFocus = EditorGUI_TextEditor_hasFocus ;
98- EditorGUI . s_RecycledEditor . graphicalCursorPos = EditorGUI_TextEditor_graphicalCursorPos ;
99- EditorGUI . s_DelayedTextEditor . text = EditorGUI_DelayedTextEditor_content ;
100- EditorGUI . s_DelayedTextEditor . cursorIndex = EditorGUI_DelayedTextEditor_cursorIndex ;
101- EditorGUI . s_DelayedTextEditor . selectIndex = EditorGUI_DelayedTextEditor_selectIndex ;
102- EditorGUI . s_DelayedTextEditor . controlID = EditorGUI_DelayedTextEditor_controlID ;
103- EditorGUI . s_DelayedTextEditor . hasHorizontalCursor = EditorGUI_DelayedTextEditor_hasHorizontalCursorPos ;
104- EditorGUI . s_DelayedTextEditor . scrollOffset = EditorGUI_DelayedTextEditor_scrollOffset ;
105- EditorGUI . s_DelayedTextEditor . m_HasFocus = EditorGUI_DelayedTextEditor_hasFocus ;
106- EditorGUI . s_DelayedTextEditor . graphicalCursorPos = EditorGUI_DelayedTextEditor_graphicalCursorPos ;
107- EditorGUI . s_DelayedTextEditor . controlThatHadFocusValue = EditorGUI_DelayedControlThatHadFocusValue ;
102+ if ( EditorGUI_TextEditor_needBackup )
103+ {
104+ EditorGUI . s_RecycledEditor . text = EditorGUI_TextEditor_content ;
105+ EditorGUI . s_RecycledEditor . cursorIndex = EditorGUI_TextEditor_cursorIndex ;
106+ EditorGUI . s_RecycledEditor . selectIndex = EditorGUI_TextEditor_selectIndex ;
107+ EditorGUI . s_RecycledEditor . controlID = EditorGUI_TextEditor_controlID ;
108+ EditorGUI . s_RecycledEditor . hasHorizontalCursor = EditorGUI_TextEditor_hasHorizontalCursorPos ;
109+ EditorGUI . s_RecycledEditor . scrollOffset = EditorGUI_TextEditor_scrollOffset ;
110+ EditorGUI . s_RecycledEditor . m_HasFocus = EditorGUI_TextEditor_hasFocus ;
111+ EditorGUI . s_RecycledEditor . graphicalCursorPos = EditorGUI_TextEditor_graphicalCursorPos ;
112+ }
113+
114+ if ( EditorGUI_DelayedTextEditor_needBackup )
115+ {
116+ EditorGUI . s_DelayedTextEditor . text = EditorGUI_DelayedTextEditor_content ;
117+ EditorGUI . s_DelayedTextEditor . cursorIndex = EditorGUI_DelayedTextEditor_cursorIndex ;
118+ EditorGUI . s_DelayedTextEditor . selectIndex = EditorGUI_DelayedTextEditor_selectIndex ;
119+ EditorGUI . s_DelayedTextEditor . controlID = EditorGUI_DelayedTextEditor_controlID ;
120+ EditorGUI . s_DelayedTextEditor . hasHorizontalCursor = EditorGUI_DelayedTextEditor_hasHorizontalCursorPos ;
121+ EditorGUI . s_DelayedTextEditor . scrollOffset = EditorGUI_DelayedTextEditor_scrollOffset ;
122+ EditorGUI . s_DelayedTextEditor . m_HasFocus = EditorGUI_DelayedTextEditor_hasFocus ;
123+ EditorGUI . s_DelayedTextEditor . graphicalCursorPos = EditorGUI_DelayedTextEditor_graphicalCursorPos ;
124+ EditorGUI . s_DelayedTextEditor . controlThatHadFocusValue = EditorGUI_DelayedControlThatHadFocusValue ;
125+ }
108126 }
109127 }
110128}
0 commit comments