public void DeserializeState(string uid) { m_bFilterSelection = SessionState.GetBool(uid + Styles.serializeFilterSelection, false); m_ShowInactiveObjects = SessionState.GetBool(uid + Styles.showInactiveObjects, false); MultiColumnHeaderState headerState = new MultiColumnHeaderState(multiColumnHeader.state.columns); string columnHeaderState = EditorPrefs.GetString(uid + Styles.serializeColumnHeaderState, ""); if (!string.IsNullOrEmpty(columnHeaderState)) { JsonUtility.FromJsonOverwrite(columnHeaderState, headerState); } if (MultiColumnHeaderState.CanOverwriteSerializedFields(headerState, multiColumnHeader.state)) { Column.OverwriteSerializedFields(headerState, multiColumnHeader.state); } for (int i = 0; i < multiColumnHeader.state.columns.Length; i++) { var filter = Col(i).filter; if (filter == null) { continue; } string filterState = SessionState.GetString(uid + Styles.serializeFilter + i, null); if (string.IsNullOrEmpty(filterState)) { continue; } filter.DeserializeState(filterState); } string treeViewState = SessionState.GetString(uid + Styles.serializeTreeViewState, ""); if (!string.IsNullOrEmpty(treeViewState)) { JsonUtility.FromJsonOverwrite(treeViewState, state); } }