예제 #1
0
 /// <summary>
 /// Добавление ключевой записи. Добавляется после внесения всех изменений.
 /// </summary>
 public static void AddRecord()
 {
     //Не добавляем ключ, если последний уже ключ (значит записей не добавилось)
     if (List.Count > 0 && List[List.Count - 1].Key) return;
     ChangeString r = new ChangeString();
     r.Key = true;
     List.Add(r);
     Position = List.Count - 1;
 }
예제 #2
0
 /// <summary>
 /// Добавление записи об изменении.
 /// </summary>
 /// <param name="layer"></param>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="was"></param>
 /// <param name="became"></param>
 public static void AddRecord(int layer, int x, int y, ushort was, ushort became)
 {
     //Не добавляем запись, если изменений нет
     if (was == became) return;
     //Здесь надо сделать очистку всего что правей Position, если такое имеется
     if (Position < List.Count - 1)
         List.RemoveRange(Position + 1, List.Count - Position - 1);
     //А потом уже пишем историю
     ChangeString r = new ChangeString();
     r.Key = false;
     r.Layer = layer;
     r.X = x;
     r.Y = y;
     r.Was = was;
     r.Became = became;
     List.Add(r);
     Position = List.Count - 1;
 }