private static void LoadLevel(Stream stream, LvLearnset lv) { var mls = new List <KeyValuePair <int, int> >(); using (var sr = new StreamReader(stream)) for (string line = sr.ReadLine(); !string.IsNullOrWhiteSpace(line); line = sr.ReadLine()) { //[0].[1] [2],[3]... var s = line.Split(SPLIT_CHARS, StringSplitOptions.RemoveEmptyEntries); for (int i = 2; i < s.Length; ++i) { //move:lv var ml = s[i].Split(':'); mls.Add(new KeyValuePair <int, int>(int.Parse(ml[0]), int.Parse(ml[1]))); } if (mls.Any()) { lv.Set(int.Parse(s[0]), int.Parse(s[1]), mls.ToArray()); mls.Clear(); } } }