Pathfinding.GridGraph.SerializeNodes C# (CSharp) Method

SerializeNodes() private method

private SerializeNodes ( Pathfinding.Node nodes, AstarSerializer serializer ) : void
nodes Pathfinding.Node
serializer AstarSerializer
return void
        public void SerializeNodes(Node[] nodes, AstarSerializer serializer)
        {
            /** \todo Add check for mask == Save Node Positions. Can't use normal mask since it is changed by SerializeSettings */

            GenerateMatrix ();

            int maxValue = 0;
            int minValue = 0;

            for (int i=0;i<nodes.Length;i++) {
                int val = nodes[i].position.y;
                maxValue = val > maxValue ? val : maxValue;
                minValue = val < minValue ? val : minValue;
            }

            int maxRange = maxValue > -minValue ? maxValue : -minValue;

            if (maxRange <= System.Int16.MaxValue) {
                //Int16
                serializer.writerStream.Write ((byte)0);
                for (int i=0;i<nodes.Length;i++) {
                    serializer.writerStream.Write ((System.Int16)(inverseMatrix.MultiplyPoint3x4 ((Vector3)nodes[i].position).y));
                }
            } else {
                //Int32
                serializer.writerStream.Write ((byte)1);
                for (int i=0;i<nodes.Length;i++) {
                    serializer.writerStream.Write (inverseMatrix.MultiplyPoint3x4 ((Vector3)nodes[i].position).y);
                }
            }
            /*for (int i=0;i<nodes.Length;i++) {
                GridNode node = nodes[i] as GridNode;

                if (node == null) {
                    Debug.LogError ("Serialization Error : Couldn't cast the node to the appropriate type - GridGenerator");
                    return;
                }

                serializer.writerStream.Write (node.index);
            }*/
        }