Exemplo n.º 1
0
        public Rail(LevelIO.ObjectInfo info, SM3DWorldZone zone, out bool loadLinks)
            : base(PathPointsFromRailPointsEntry(info.PropertyEntries["RailPoints"]))
        {
            ID = info.ID;
            if (zone != null)
            {
                zone.SubmitRailID(ID);
            }

            ObjType = (RailObjType)Enum.Parse(typeof(RailObjType), info.ClassName);

            if (ObjType == RailObjType.RailWithMoveParameter)
            {
                IsReverseCoord = info.PropertyEntries["IsReverseCoord"].Parse();
            }


            IsLadder = info.PropertyEntries["IsLadder"].Parse();

            Closed = info.PropertyEntries["IsClosed"].Parse();

            zone?.SubmitRailID(ID);

            loadLinks = false; //We don't expect Rails to have Links
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a new rail for 3DW
 /// </summary>
 /// <param name="pathPoints">List of Path Points to use in this rail</param>
 /// <param name="iD">ID Of the rail</param>
 /// <param name="isClosed">Is the path closed?</param>
 /// <param name="isLadder">Unknown</param>
 /// <param name="isReverseCoord">Reverses the order the rails are in</param>
 /// <param name="railObjType"><see cref="RailObjType"/></param>
 public Rail(List <PathPoint> pathPoints, string iD, bool isClosed, bool isLadder, bool isReverseCoord, RailObjType railObjType, SM3DWorldZone zone)
     : base(pathPoints)
 {
     ID             = iD;
     Closed         = isClosed;
     IsLadder       = isLadder;
     IsReverseCoord = isReverseCoord;
     ObjType        = railObjType;
     zone?.SubmitRailID(ID);
 }