Rasagar/Library/PackageCache/com.unity.shadergraph/Editor/Data/Interfaces/Graph/GraphDrawingData.cs
2024-08-26 23:07:20 +03:00

39 lines
954 B
C#

using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace UnityEditor.Graphing
{
[Serializable]
class GraphDrawingData : ISerializationCallbackReceiver
{
[SerializeField]
private List<string> m_SerializableSelection = new List<string>();
[NonSerialized]
private List<Guid> m_Selection = new List<Guid>();
public IEnumerable<Guid> selection
{
get { return m_Selection; }
set
{
m_Selection.Clear();
m_Selection.AddRange(value);
}
}
public void OnBeforeSerialize()
{
m_SerializableSelection.Clear();
m_SerializableSelection.AddRange(m_Selection.Select(x => x.ToString()));
}
public void OnAfterDeserialize()
{
selection = m_SerializableSelection.Select(x => new Guid(x));
}
}
}