예제 #1
0
        internal virtual void Serialize(BinaryWriter w)
        {
            w.Write(GlobalId);
            w.Write(Id);
            AABB.Serialize(w);
            w.Write((int)Flags);
            w.Write(Replacement);
            w.Write(Disabled);
            w.Write(MovementCostMult);

            w.Write(Neighbours.Count);
            foreach (Neighbour neighbour in Neighbours)
            {
                w.Write(neighbour.cell.GlobalId);

                w.Write(neighbour.border_point != null);
                if (neighbour.border_point != null)
                {
                    neighbour.border_point.Serialize(w);
                }

                w.Write(neighbour.border_segment != null);
                if (neighbour.border_segment != null)
                {
                    neighbour.border_segment.Item1.Serialize(w);
                    neighbour.border_segment.Item2.Serialize(w);
                }

                w.Write((int)neighbour.connection_flags);
            }
        }
예제 #2
0
파일: Cell.cs 프로젝트: Ifry/Nav
        internal virtual void Serialize(BinaryWriter w)
        {
            w.Write(GlobalId);
            w.Write(Id);
            AABB.Serialize(w);
            ParentAABB.Serialize(w);
            w.Write((int)Flags);
            w.Write(Replacement);
            w.Write(BlockerReplacement);
            w.Write(Disabled);
            w.Write(MovementCostMult);
            w.Write(Threat);

            w.Write(Neighbours.Count);
            foreach (Neighbour neighbour in Neighbours)
            {
                w.Write(neighbour.cell.GlobalId);
                neighbour.border_point.Serialize(w);
                w.Write((int)neighbour.connection_flags);
            }
        }
예제 #3
0
파일: Navmesh.cs 프로젝트: panyicast/Nav.D3
 public void Serialize(BinaryWriter w)
 {
     area.Serialize(w);
     w.Write(move_cost_mult);
 }