public override bool CanMerge(IAction other) { MoveObject o = other as MoveObject; if (o == null) { Group g = other as Group; return(d_mergedGroup == null && g != null && g.Actions.Count > 0 && g.Actions[0] is MoveObject); } return(Wrapped == o.Wrapped); }
public override void Merge(IAction other) { MoveObject move = other as MoveObject; if (move != null) { d_dx += move.d_dx; d_dy += move.d_dy; } else { d_mergedGroup = other as Group; } }