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); }