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
        }
Esempio n. 5
0
        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
        }