Example #1
0
        // returns !(ConnectGroup == None && MetaData.ConnectGroups == null)
        // the next instruction is brfalse which aumatically takes a not of the above phrase so at the end it will be
        // (ConnectGroup == None && MetaData.ConnectGroups == null) ||
        public static bool CheckConnectGroup(NetInfo.ConnectGroup cg, NetInfo.Node node)
        {
#if DEBUG
            DirectConnectUtil.AssertNotEmpty(node.GetMetaData()?.ConnectGroupsHash, "connect groups");
#endif
            return(!(cg == 0 && node.GetMetaData()?.ConnectGroupsHash == null));
        }
        public static IEnumerable <TrackType> GetTrackTypes(this NetInfo.ConnectGroup connectGroup)
        {
            List <TrackType> ret = new List <TrackType>();

            if (connectGroup.IsFlagSet(TRAIN))
            {
                ret.Add(TrackType.Train);
            }
            if (connectGroup.IsFlagSet(METRO))
            {
                ret.Add(TrackType.Metro);
            }
            if (connectGroup.IsFlagSet(MONORAIL))
            {
                ret.Add(TrackType.Monorail);
            }
            if (connectGroup.IsFlagSet(TROLLY))
            {
                ret.Add(TrackType.Trolly);
            }
            if (connectGroup.IsFlagSet(TRAM))
            {
                ret.Add(TrackType.Tram);
            }
            return(ret);
        }
Example #3
0
        internal static VehicleInfo.VehicleType GetVehicleType(NetInfo.ConnectGroup flags)
        {
            VehicleInfo.VehicleType ret = 0;

            if ((flags & TRAM) != 0)
            {
                ret |= VehicleInfo.VehicleType.Tram;
            }
            if ((flags & METRO) != 0)
            {
                ret |= VehicleInfo.VehicleType.Metro;
            }
            if ((flags & TRAIN) != 0)
            {
                ret |= VehicleInfo.VehicleType.Train;
            }
            if ((flags & MONORAIL) != 0)
            {
                ret |= VehicleInfo.VehicleType.Monorail;
            }
            if ((flags & TROLLY) != 0)
            {
                ret |= VehicleInfo.VehicleType.Trolleybus;
            }
            return(ret);
        }
        public static VehicleInfo.VehicleType GetVehicleType(NetInfo.Node nodeInfo, NetInfo.ConnectGroup flags)
        {
            VehicleInfo.VehicleType    ret  = 0;
            const NetInfo.ConnectGroup TRAM =
                NetInfo.ConnectGroup.CenterTram |
                NetInfo.ConnectGroup.NarrowTram |
                NetInfo.ConnectGroup.SingleTram |
                NetInfo.ConnectGroup.WideTram;
            const NetInfo.ConnectGroup TRAIN =
                NetInfo.ConnectGroup.DoubleTrain |
                NetInfo.ConnectGroup.SingleTrain |
                NetInfo.ConnectGroup.TrainStation;
            const NetInfo.ConnectGroup MONO_RAIL =
                NetInfo.ConnectGroup.DoubleMonorail |
                NetInfo.ConnectGroup.SingleMonorail |
                NetInfo.ConnectGroup.MonorailStation;

            if ((flags & TRAM) != 0)
            {
                ret |= VehicleInfo.VehicleType.Tram;
            }
            if ((flags & TRAIN) != 0)
            {
                ret |= VehicleInfo.VehicleType.Train;
            }
            if ((flags & MONO_RAIL) != 0)
            {
                ret |= VehicleInfo.VehicleType.Monorail;
            }

            return(ret);
        }
        //public const VehicleInfo.VehicleType TRACK_VEHICLE_TYPES =
        //    VehicleInfo.VehicleType.Tram |
        //    VehicleInfo.VehicleType.Metro |
        //    VehicleInfo.VehicleType.Train |
        //    VehicleInfo.VehicleType.Monorail;
        internal static VehicleInfo.VehicleType GetVehicleType(NetInfo.ConnectGroup flags)
        {
            VehicleInfo.VehicleType    ret  = 0;
            const NetInfo.ConnectGroup TRAM =
                NetInfo.ConnectGroup.CenterTram |
                NetInfo.ConnectGroup.NarrowTram |
                NetInfo.ConnectGroup.SingleTram |
                NetInfo.ConnectGroup.WideTram;
            const NetInfo.ConnectGroup TRAIN =
                NetInfo.ConnectGroup.DoubleTrain |
                NetInfo.ConnectGroup.SingleTrain |
                NetInfo.ConnectGroup.TrainStation;
            const NetInfo.ConnectGroup MONO_RAIL =
                NetInfo.ConnectGroup.DoubleMonorail |
                NetInfo.ConnectGroup.SingleMonorail |
                NetInfo.ConnectGroup.MonorailStation;
            const NetInfo.ConnectGroup METRO =
                NetInfo.ConnectGroup.DoubleMetro |
                NetInfo.ConnectGroup.SingleMetro |
                NetInfo.ConnectGroup.MetroStation;
            const NetInfo.ConnectGroup TROLLY =
                NetInfo.ConnectGroup.CenterTrolleybus |
                NetInfo.ConnectGroup.NarrowTrolleybus |
                NetInfo.ConnectGroup.SingleTrolleybus |
                NetInfo.ConnectGroup.WideTrolleybus;

            if ((flags & TRAM) != 0)
            {
                ret |= VehicleInfo.VehicleType.Tram;
                ret |= VehicleInfo.VehicleType.Metro; // MOM
            }
            if ((flags & METRO) != 0)
            {
                ret |= VehicleInfo.VehicleType.Metro;
            }
            if ((flags & TRAIN) != 0)
            {
                ret |= VehicleInfo.VehicleType.Train;
            }
            if ((flags & MONO_RAIL) != 0)
            {
                ret |= VehicleInfo.VehicleType.Monorail;
            }
            if ((flags & TROLLY) != 0)
            {
                ret |= VehicleInfo.VehicleType.Trolleybus;
            }
            return(ret);
        }
 public static TrackType GetTrackType(this NetInfo.ConnectGroup connectGroup)
 {
     if (connectGroup.IsFlagSet(TRAIN))
     {
         return(TrackType.Train);
     }
     if (connectGroup.IsFlagSet(METRO))
     {
         return(TrackType.Metro);
     }
     if (connectGroup.IsFlagSet(MONORAIL))
     {
         return(TrackType.Monorail);
     }
     if (connectGroup.IsFlagSet(TROLLY))
     {
         return(TrackType.Trolly);
     }
     if (connectGroup.IsFlagSet(TRAM))
     {
         return(TrackType.Tram);
     }
     return(TrackType.None);
 }