/// <inheritdoc /> protected override void DeserializeFromUndo(SerializedReferenceDictionary <string, string> stateComponentUndoData) { base.DeserializeFromUndo(stateComponentUndoData); if (stateComponentUndoData.TryGetValue(nameof(SelectionState), out var serializedData)) { var newSelectionState = StateComponentHelper.Deserialize <SelectionStateComponent>(serializedData); PersistedState.SetAssetViewStateComponent(m_GraphViewEditorWindowGUID, newSelectionState); } if (stateComponentUndoData.TryGetValue(nameof(GraphViewState), out serializedData)) { var newGraphViewState = StateComponentHelper.Deserialize <GraphViewStateComponent>(serializedData); PersistedState.SetAssetStateComponent(newGraphViewState); } if (stateComponentUndoData.TryGetValue(nameof(BlackboardViewState), out serializedData)) { var newBlackboardState = StateComponentHelper.Deserialize <BlackboardViewStateComponent>(serializedData); PersistedState.SetAssetStateComponent(newBlackboardState); } if (stateComponentUndoData.TryGetValue(nameof(WindowState), out serializedData)) { var newWindowState = StateComponentHelper.Deserialize <WindowStateComponent>(serializedData); PersistedState.SetAssetStateComponent(newWindowState); } }
/// <inheritdoc /> protected override void SerializeForUndo(SerializedReferenceDictionary <string, string> stateComponentUndoData) { base.SerializeForUndo(stateComponentUndoData); stateComponentUndoData.Add(nameof(SelectionState), StateComponentHelper.Serialize(SelectionState)); stateComponentUndoData.Add(nameof(GraphViewState), StateComponentHelper.Serialize(GraphViewState)); stateComponentUndoData.Add(nameof(BlackboardViewState), StateComponentHelper.Serialize(BlackboardViewState)); stateComponentUndoData.Add(nameof(WindowState), StateComponentHelper.Serialize(WindowState)); }