public void Init(List<ISimulationCarrier> carrierList) { this.m_RNQueueBuilderDic = new Dictionary<SchedulePolicy, RNQueueBuilder>(); this.m_ResourceTemplateDic = new Dictionary<string, ScheduleResource>(); this.m_VoiceQueueBuilderDic = new Dictionary<SchedulePolicy, IQueueBuilder>(); this.m_DataQueueBuilderDic = new Dictionary<SchedulePolicy, IQueueBuilder>(); foreach (SimulationCarrier carrier in carrierList) { RNQueueBuilder rnQueueBuilder = this.GetRNQueueBuilder(carrier); IQueueBuilder voiceQueueBuilder = this.GetVoiceQueueBuilder(carrier); IQueueBuilder dataQueueBuilder = this.GetDataQueueBuilder(carrier); RelayCarrierScheduleManager manager = new RelayCarrierScheduleManager(carrier); manager.Init(this.m_ResourceTemplateDic, rnQueueBuilder, voiceQueueBuilder, dataQueueBuilder); if (carrier.IsLTECell) { carrier.TDDSubFrameMatrix = ((carrier.Carrier as LTECell).Parent.Parent as Site).SubFrameMatrix; //TDD子帧配置矩阵。矩阵为1 TTI代表普通上行子帧,为0代表下行,为2代表特殊子帧 carrier.TDDSpecialSubFrameMatrix = ((carrier.Carrier as LTECell).Parent.Parent as Site).SpecialSubFrameMatrix ;//TDD特殊子帧配置 carrier.RelayMBSFNCount = 1; carrier.RelayUlUsableRBNum = 12; //以后优化可从界面读取,LTECell用于relay的RB数 UlScheduleTools.CalcRelayUlRb(carrier); //初始化LTECell下relay最大可用RB,分配原则为平均分配 } if (!carrier.IsLTECell) { carrier.TDDSubFrameMatrix = (carrier.Carrier as RelayCell).ParentRN.SubFrameMatrix; } carrier.UlScheduleCarrierTag = manager; } }