Пример #1
0
        private static IFactory AddSignalGroup(IFactory ifactory, XNode xNode)
        {
            ifactory = (new AgentFactory()) as IFactory;
            //添加信号灯规则
            xNode.AcceptAsynAgent(ifactory.Build(null, AgentType.SignalLightAgent));

            //信号灯赋值
            ifactory = new StaticFactory();
            SignalLight sl = ifactory.Build(null, EntityType.SignalLight) as SignalLight;

            foreach (XNode item in iroadNet.XNodes)
            {
                foreach (Way roadEdge in item.RoadEdges)
                {
                    roadEdge.GetReverse().ModifySignalGroup(sl, LaneType.Straight);
                }
            }
            return(ifactory);
        }