using System; using System.Collections.Generic; using UnityEngine.Graphing; namespace UnityEngine.MaterialGraph { [Serializable] public abstract class AbstractMaterialGraph : SerializableGraph { public override void AddNode(INode node) { if (node is AbstractMaterialNode) { base.AddNode(node); } else { Debug.LogWarningFormat("Trying to add node {0} to Material graph, but it is not a {1}", node, typeof(AbstractMaterialNode)); } } public override Dictionary GetLegacyTypeRemapping() { var result = base.GetLegacyTypeRemapping(); var viewNode = new SerializationHelper.TypeSerializationInfo { fullName = "UnityEngine.MaterialGraph.ViewDirectionNode", assemblyName = "Assembly-CSharp" }; result[viewNode] = SerializationHelper.GetTypeSerializableAsString(typeof(WorldSpaceViewDirectionNode)); var normalNode = new SerializationHelper.TypeSerializationInfo { fullName = "UnityEngine.MaterialGraph.NormalNode", assemblyName = "Assembly-CSharp" }; result[normalNode] = SerializationHelper.GetTypeSerializableAsString(typeof(WorldSpaceNormalNode)); var worldPosNode = new SerializationHelper.TypeSerializationInfo { fullName = "UnityEngine.MaterialGraph.WorldPosNode", assemblyName = "Assembly-CSharp" }; result[worldPosNode] = SerializationHelper.GetTypeSerializableAsString(typeof(WorldSpacePositionNode)); return result; } } }