private BarrageItem GetSpecialBarrageItem(int specialBarrageID)
        {
            BarrageItem item = new BarrageItem()
            {
                ID = specialBarrageID, IsSpecial = true
            };
            var specialBarrageConfig = ControversySpecialBarrageConfig.GetConfigByKey(specialBarrageID);

            item.Items        = ProcessBarrageText(item, specialBarrageConfig.text);
            item.CorrectIndex = specialBarrageConfig.correctIndex;
            item.BornTime     = specialBarrageConfig.bornTime;
            return(item);
        }
        private void SetInfo(string controversyID)
        {
            m_controversyID   = controversyID;
            ControversyConfig = ControversyConfig.GetConfigByKey(controversyID);
            if (!string.IsNullOrEmpty(ControversyConfig.storyFileName))
            {
                UiDataProvider.ControllerManager.StoryController.LoadStoryFileByName(ControversyConfig.storyFileName);
            }
            EnemyConfig = ControversyCharacterConfig.GetConfigByKey(ControversyConfig.leftCharacterID);

            var specialBarrageID = ControversyConfig.specialBarrageID;

            SpecialBarrageInfo   = GetSpecialBarrageItem(specialBarrageID);
            SpecialBarrageConfig = ControversySpecialBarrageConfig.GetConfigByKey(SpecialBarrageInfo.ID);
        }
        private void SendBarrage(UI_Judgment_ControversyBarrage_Item_SubView subView, BarrageItem itemInfo)
        {
            Transform parent;
            int       track;

            if (itemInfo.IsSpecial)
            {
                track = ControversySpecialBarrageConfig.GetConfigByKey(itemInfo.ID).track;
            }
            else
            {
                track = ControversyBarrageConfig.GetConfigByKey(itemInfo.ID).track;
            }

            switch (track)
            {
            case 1:
                parent = m_go_beginLine1;
                break;

            case 2:
                parent = m_go_beginLine2;
                break;

            case 3:
                parent = m_go_beginLine3;
                break;

            case 4:
                parent = m_go_beginLine4;
                break;

            default:
                parent = m_go_beginLine1;
                break;
            }
            subView.transform.SetParent(parent);
            subView.transform.localScale    = Vector3.one;
            subView.transform.localPosition = Vector3.zero;
            subView.SetInfo(itemInfo, m_dictance);
            if (!m_barrageSubViews.ContainsKey(itemInfo.ID))
            {
                m_barrageSubViews.Add(itemInfo.ID, subView);
            }
        }