public void BuildUp(NetInfo info, NetInfoVersion version) { /////////////////////////// // Template // /////////////////////////// var railVersionName = SharedHelpers.NameBuilder(SharedHelpers.TRAIN_TRACK, version); var railInfo = Prefabs.Find <NetInfo>(railVersionName); /////////////////////////// // 3DModeling // /////////////////////////// info.Setup10mMesh(version); /////////////////////////// // Set up // /////////////////////////// info.m_class = railInfo.m_class.Clone("APT" + railVersionName); info.m_halfWidth = 4.999f; //if (version == NetInfoVersion.Tunnel) //{ // info.m_setVehicleFlags = Vehicle.Flags.Transition; // info.m_setCitizenFlags = CitizenInstance.Flags.Transition; //} var lanes = new List <NetInfo.Lane>(); lanes.AddRange(info.m_lanes.ToList()); for (int i = 0; i < lanes.Count; i++) { if (lanes[i].m_direction == NetInfo.Direction.Backward) { lanes[i].m_direction = NetInfo.Direction.Forward; } } info.m_lanes = lanes.ToArray(); info.m_connectGroup = NetInfo.ConnectGroup.WideTram; info.m_nodeConnectGroups = NetInfo.ConnectGroup.WideTram | NetInfo.ConnectGroup.DoubleTrain | NetInfo.ConnectGroup.TrainStation; //var railInfos = new List<NetInfo>(); //railInfos.Add(railInfo); //railInfos.Add(Prefabs.Find<NetInfo>(NetInfos.Vanilla.TRAIN_STATION_TRACK, false)); //railInfos.Add(Prefabs.Find<NetInfo>("Train Cargo Track", false)); //for (int i = 0; i < railInfos.Count; i++) //{ // var ri = railInfos[i]; // //info.m_nodes[1].m_connectGroup = (NetInfo.ConnectGroup)9; // ri.m_connectGroup = NetInfo.ConnectGroup.DoubleTrain; // railInfo.m_nodeConnectGroups = NetInfo.ConnectGroup.DoubleTrain; // if (railInfo.m_nodes.Length > 1) // { // railInfo.m_nodes[1].m_connectGroup = NetInfo.ConnectGroup.DoubleTrain; // } //} }
public virtual void BuildUp(NetInfo info, NetInfoVersion version) { /////////////////////////// // Template // /////////////////////////// var railVersionName = SharedHelpers.NameBuilder(SharedHelpers.TRAIN_TRACK, version); var railInfo = Prefabs.Find <NetInfo>(railVersionName); info.m_class = railInfo.m_class.Clone("APT" + railVersionName); /////////////////////////// // Set up // /////////////////////////// info.m_hasParkingSpaces = false; //info.m_class = roadInfo.m_class.Clone(NetInfoClasses.NEXT_SMALL3L_ROAD); if (version == NetInfoVersion.Slope || version == NetInfoVersion.Tunnel) { info.m_halfWidth = 4; info.m_pavementWidth = 2; } else { info.m_halfWidth = 3; } //if (version == NetInfoVersion.Tunnel) //{ // info.m_setVehicleFlags = Vehicle.Flags.Transition; // info.m_setCitizenFlags = CitizenInstance.Flags.Transition; //} info.SetRoadLanes(version, new LanesConfiguration() { IsTwoWay = false, LanesToAdd = -1, }); info.m_connectGroup = NetInfo.ConnectGroup.SingleTrain; info.m_nodeConnectGroups = NetInfo.ConnectGroup.SingleTrain | NetInfo.ConnectGroup.DoubleTrain | NetInfo.ConnectGroup.TrainStation; var owPlayerNetAI = railInfo.GetComponent <PlayerNetAI>(); var playerNetAI = info.GetComponent <PlayerNetAI>(); if (owPlayerNetAI != null && playerNetAI != null) { playerNetAI.m_constructionCost = owPlayerNetAI.m_constructionCost * 1 / 2; playerNetAI.m_maintenanceCost = owPlayerNetAI.m_maintenanceCost * 1 / 2; } var trainTrackAI = info.GetComponent <TrainTrackAI>(); if (trainTrackAI != null) { } }