Exemplo n.º 1
0
        /** Deserializes links placed by the user */
        public virtual UserConnection[] DeserializeUserConnections()
        {
            System.IO.BinaryReader stream = readerStream;

            if (MoveToAnchor ("UserConnections")) {
                int count = stream.ReadInt32 ();

                UserConnection[] userConnections = new UserConnection[count];

                for (int i=0;i<count;i++) {
                    UserConnection conn = new UserConnection ();
                    conn.p1 = new Vector3 (stream.ReadSingle (),stream.ReadSingle (),stream.ReadSingle ());
                    conn.p2 = new Vector3 (stream.ReadSingle (),stream.ReadSingle (),stream.ReadSingle ());

                    conn.doOverrideCost = stream.ReadBoolean ();
                    conn.overrideCost = stream.ReadInt32 ();

                    conn.oneWay = stream.ReadBoolean ();
                    conn.width = stream.ReadSingle ();
                    conn.type = (ConnectionType)stream.ReadInt32 ();

                    conn.enable = stream.ReadBoolean ();
                    conn.doOverrideWalkability = stream.ReadBoolean ();
                    conn.doOverridePenalty = stream.ReadBoolean ();
                    conn.overridePenalty = stream.ReadUInt32 ();

                    userConnections[i] = conn;
                }
                return userConnections;
            } else {
                return new UserConnection[0];
            }
        }
Exemplo n.º 2
0
        public void SerializeUserConnections(UserConnection[] conns)
        {
            if (conns == null) conns = new UserConnection[0];

            System.Text.StringBuilder output = GetStringBuilder ();//new System.Text.StringBuilder();
            JsonWriter writer = new JsonWriter (output,writerSettings);
            writer.Write (conns);

            byte[] bytes = encoding.GetBytes (output.ToString());
            output = null;

            //If length is <= 2 that means nothing was serialized (file is "[]")
            if (bytes.Length <= 2) return;

            AddChecksum (bytes);
            zip.AddEntry ("connections"+jsonExt,bytes);
        }
Exemplo n.º 3
0
        //public void DeSerialize (AstarPath active, bool runtime, out NavGraph graph) {
        //    DeSerialize (active, runtime, out graph, null);
        //}
        /** Serializes links placed by the user */
        public virtual void SerializeUserConnections(UserConnection[] userConnections)
        {
            System.IO.BinaryWriter stream = writerStream;

            AddAnchor ("UserConnections");
            if (userConnections != null) {
                stream.Write (userConnections.Length);

                for (int i=0;i<userConnections.Length;i++) {
                    UserConnection conn = userConnections[i];
                    stream.Write (conn.p1.x);
                    stream.Write (conn.p1.y);
                    stream.Write (conn.p1.z);

                    stream.Write (conn.p2.x);
                    stream.Write (conn.p2.y);
                    stream.Write (conn.p2.z);

                    stream.Write (conn.doOverrideCost);
                    stream.Write (conn.overrideCost);

                    stream.Write (conn.oneWay);
                    stream.Write (conn.width);
                    stream.Write ((int)conn.type);

                    stream.Write (conn.enable);
                    stream.Write (conn.doOverrideWalkability);
                    stream.Write (conn.doOverridePenalty);
                    stream.Write (conn.overridePenalty);
                }
            } else {
                stream.Write (0);
            }
        }