public UnitMove(UnitMove original) { this.unit = (Unit)original.unit.Clone(); this.old = original.old; this.dist = original.dist; this.shift = original.shift; this.comment = original.comment; }
//получить линейку очередности ходов стеков public List<UnitMove> GetLine(int size) { List<UnitMove> list = new List<UnitMove>(OldMoves); if (Units.Count <= 0) return list; State tmp = (State)this.Clone(); for (int i = 0; i < size; i++) { int first; while ((first = tmp.FirstIndex()) == -1) tmp.Tick(); UnitMove um = new UnitMove(tmp.Units[first]); um.dist = tmp.NextUnitDist(first); list.Add(um); tmp.Move(100, ""); } return list; }