コード例 #1
0
ファイル: TrainEditHelper.cs プロジェクト: fadoe/FPLedit
        public Train CopyTrain(Train orig, int offsetMin, string name, bool copyAll)
        {
            var t = new Train(orig.Direction, orig._parent)
            {
                TName      = name,
                Comment    = orig.Comment,
                Days       = orig.Days,
                Last       = orig.Last,
                Locomotive = orig.Locomotive,
                Mbr        = orig.Mbr,
            };

            if (copyAll)
            {
                foreach (var attr in orig.Attributes)
                {
                    if (t.GetAttribute <string>(attr.Key) == null)
                    {
                        t.SetAttribute(attr.Key, attr.Value);
                    }
                }
            }

            var path = orig.GetPath();

            if (orig._parent.Type == TimetableType.Network)
            {
                t.AddAllArrDeps(path);
            }
            else
            {
                foreach (var sta in orig._parent.Stations)
                {
                    t.AddArrDep(sta, Timetable.LINEAR_ROUTE_ID);
                }
            }

            InternalCopyArrDeps(orig, t, offsetMin);

            return(t);
        }