BTTool.CommonAnalyser.AnalyseList C# (CSharp) Method

AnalyseList() private method

private AnalyseList ( IBNode parent ) : void
parent IBNode
return void
        private void AnalyseList(IBNode parent)
        {
            // 列表一定是l开始的
            if (GetCurrentCharMove() != 'l')
                return;

            int count = 0;
            // 循环读入列表项
            do
            {
                ListItemNode listItemNode = _bNodeFactory.GetBNode('l') as ListItemNode;
                switch (GetCurrentChar())
                {
                    case 'i': // 数字
                        listItemNode.SetValue(AnalyseInteger());
                        listItemNode.ValueType = 'i';
                        break;
                    case 'd': // 字典
                        AnalyseDictionary(listItemNode);
                        listItemNode.ValueType = 'd';
                        break;
                    case 'l': // 列表
                        AnalyseList(listItemNode);
                        listItemNode.ValueType = 'l';
                        break;
                    default:
                        listItemNode.SetValue(AnalyseString());
                        listItemNode.ValueType = 's';
                        break;
                }
                listItemNode.ListIndex = count++;
                parent.Child.Add(listItemNode);
            } while (GetCurrentChar() != 'e');
            GetCurrentCharMove();
        }