Exemple #1
0
 public void Remove(TimeLineData data)
 {
     if (_timeLineDataList.Contains(data))
     {
         _timeLineDataList.Remove(data);
     }
 }
Exemple #2
0
        /// <summary>
        /// 专门解析data.push代码段
        /// </summary>
        /// <param name="sr">StreamReader的当前行应该是data.push代码段中第一个属性的前一行,也就是"data.push({"所在的行</param>
        /// <param name="timeLineData">用于存放解析出的键值对的TimeLineData对象</param>
        private int ParseDataPush(StreamReader sr, TimeLineData timeLineData)
        {
            /*  判断当前行是不是一条注释语句。
             *  如果是注释语句就不做处理,直接进入到下一行;
             *
             *  如果不是注释语句,那就简单地认为是有效的键值对语句,
             *  从而提取出Key和Value,存储到TimeLineData对象中,
             *  并加入到链表_timeLineDataList中;
             *
             *  如果是结束符号"})",则退出*/
            int    keyValueCount = 0; //已经获取到的键值对的个数
            string line          = null;

            while ((line = sr.ReadLine().Trim()) != EditorConstant.DATA_CODE_END_PART)
            {
                if (!IsComment(line))
                {
                    //提取该行的Key和Value并存储到TimeLineData对象中
                    timeLineData.AddKeyAndValue(line);

                    keyValueCount++;
                }
            }
            this._timeLineDataList.Add(timeLineData);
            return(keyValueCount);
        }
Exemple #3
0
 public void Add(TimeLineData data)
 {
     if (!_timeLineDataList.Contains(data))
     {
         _timeLineDataList.Add(data);
     }
 }
Exemple #4
0
        /// <summary>
        /// 解析Js代码,把代码按一定规则拆分并存储到容器中
        /// </summary>
        private void Parse(StreamReader sr)
        {
            string line = null;

            while ((line = sr.ReadLine()) != null)
            {
                line = line.Trim();
                if (line.Equals(EditorConstant.DATA_CODE_FORE_PART))
                {
                    //开始解析data.push代码段
                    TimeLineData tld = new TimeLineData();
                    ParseDataPush(sr, tld);
                }
            }
        }