public void PreprocessBeforeDeserialize(Serializer.Object serObj, Serializer.Object[] allSerialized, object[] allDeserialized) /// Loading placeholder /// Reading serObj and converting it to placeholder values { origType = serObj.type; List <string> fieldsList = new List <string>(); List <Serializer.Value> valuesList = new List <Serializer.Value>(); for (int v = 0; v < serObj.values.Length; v++) { if (serObj.values[v].t != 255) //if not reference { fieldsList.Add(serObj.fields[v]); valuesList.Add(serObj.values[v]); } /*else if (serObj.values[v] >= 0) //if not null * { * Serializer.Object fieldObj = allSerialized[serObj.values[v]]; * Type fieldType = Type.GetType(fieldObj.type); * if (fieldType.IsGenericType && * IsInletType(fieldType) ) * Debug.Log(fieldType); * }*/ } origFields = fieldsList.ToArray(); origValues = valuesList.ToArray(); }
public void PostprocessAfterSerialize(Serializer.Object serObj, Dictionary <object, Serializer.Object> allSerialized) /// Storing original instead of placeholder /// Writing serObj { serObj.type = origType; ArrayTools.Append(ref serObj.fields, origFields); ArrayTools.Append(ref serObj.values, origValues); }
private static void AfterSerialize(object obj, Serializer.Object serObj) { if (obj is Generator) { serObj.altType = typeof(Placeholders.InletOutletPlaceholder).AssemblyQualifiedName; } //if (obj is Placeholders.Placeholder placeholder) //{ // serObj.type = placeholder.origType; //} //actually done in placeholder itself #if !UNITY_2019_2_OR_NEWER //inlets/outlets generics if (serObj.type.Contains("Den.Tools.Matrices.MatrixWorld, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")) { serObj.type = serObj.type.Replace("Den.Tools.Matrices.MatrixWorld, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "Den.Tools.Matrices.MatrixWorld, Tools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } if (serObj.type.Contains("Den.Tools.TransitionsList, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")) { serObj.type = serObj.type.Replace("Den.Tools.TransitionsList, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "Den.Tools.TransitionsList, Tools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } if (serObj.type.Contains("Den.Tools.Splines.SplineSys, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")) { serObj.type = serObj.type.Replace("Den.Tools.Splines.SplineSys, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "Den.Tools.Splines.SplineSys, Tools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } /*if (serObj.type == "MapMagic.Nodes.Inlet`1[[Den.Tools.Matrices.MatrixWorld, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Inlet`1[[Den.Tools.Matrices.MatrixWorld, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Inlet`1[[Den.Tools.TransitionsList, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Inlet`1[[Den.Tools.TransitionsList, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Inlet`1[[Den.Tools.Splines.SplineSys, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Inlet`1[[Den.Tools.Splines.SplineSys, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Outlet`1[[Den.Tools.Matrices.MatrixWorld, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Outlet`1[[Den.Tools.Matrices.MatrixWorld, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Outlet`1[[Den.Tools.TransitionsList, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Outlet`1[[Den.Tools.TransitionsList, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Outlet`1[[Den.Tools.Splines.SplineSys, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Outlet`1[[Den.Tools.Splines.SplineSys, Tools, Version=0.0.0.0]], MapMagic, Version=0.0.0.0"; * if (serObj.type == "MapMagic.Nodes.Inlet`1[[Den.Tools.TransitionsList, Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]][], Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") * serObj.type = "MapMagic.Nodes.Inlet`1[[Den.Tools.TransitionsList, Tools, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]][], MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";*/ serObj.type = ModifyTypeName(serObj.type); if (serObj.altType != null && serObj.altType.Length != 0) { serObj.altType = ModifyTypeName(serObj.altType); } if (serObj.special != null && serObj.special.Contains(", Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") && serObj.special.Contains(", MapMagic.Nodes.")) { serObj.special = serObj.special.Replace(", Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ", MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } #endif }
private static void BeforeDeserialize(Serializer.Object serObj) { if (serObj.type == "MapMagic.Nodes.Exposed, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null") { serObj.type = null; //resetting obj to null } //if (serObj.type!=null && serObj.type.Contains("MapMagic.Expose.Override")) //temporary // serObj.type = null; if (serObj.type == null) //for some reason type null after trying to reset expose { return; } foreach (var kvp in classRenames) { if (serObj.type.Contains(kvp.Key)) { serObj.type = serObj.type.Replace(kvp.Key, kvp.Value); } } #if !UNITY_2019_2_OR_NEWER if (serObj.type.Contains(", MapMagic, ")) { serObj.type = serObj.type.Replace(", MapMagic, ", ", Assembly-CSharp, "); } if (serObj.type.Contains(", Tools, ")) { serObj.type = serObj.type.Replace(", Tools, ", ", Assembly-CSharp, "); } if (serObj.altType != null) { if (serObj.altType.Contains(", MapMagic, ")) { serObj.altType = serObj.altType.Replace(", MapMagic, ", ", Assembly-CSharp, "); } if (serObj.altType.Contains(", Tools, ")) { serObj.altType = serObj.altType.Replace(", Tools, ", ", Assembly-CSharp, "); } } if (serObj.special != null) { //"contrast, MapMagic.Nodes.MatrixGenerators.Contrast200, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" if (serObj.special.Contains(", MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")) { serObj.special = serObj.special.Replace(", MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ", Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } } #endif }
private static void BeforeDeserialize(Serializer.Object serObj) { foreach (var kvp in classRenames) { if (serObj.type.Contains(kvp.Key)) { serObj.type = serObj.type.Replace(kvp.Key, kvp.Value); } } #if !UNITY_2019_2_OR_NEWER if (serObj.type.Contains(", MapMagic, ")) { serObj.type = serObj.type.Replace(", MapMagic, ", ", Assembly-CSharp, "); } if (serObj.type.Contains(", Tools, ")) { serObj.type = serObj.type.Replace(", Tools, ", ", Assembly-CSharp, "); } if (serObj.altType != null) { if (serObj.altType.Contains(", MapMagic, ")) { serObj.altType = serObj.altType.Replace(", MapMagic, ", ", Assembly-CSharp, "); } if (serObj.altType.Contains(", Tools, ")) { serObj.altType = serObj.altType.Replace(", Tools, ", ", Assembly-CSharp, "); } } if (serObj.special != null) { //"contrast, MapMagic.Nodes.MatrixGenerators.Contrast200, MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null" if (serObj.special.Contains(", MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")) { serObj.special = serObj.special.Replace(", MapMagic, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ", Assembly-CSharp, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"); } } #endif }