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);
}
}