private void RemoveLine(MarkupLine line) { foreach (var intersect in GetExistIntersects(line).ToArray()) { if (intersect.Pair.GetOther(line) is MarkupRegularLine regularLine) { regularLine.RemoveRules(line); } LineIntersects.Remove(intersect.Pair); } foreach (var filler in GetLineFillers(line).ToArray()) { FillersList.Remove(filler); } if (CrosswalksDictionary.ContainsKey(line)) { CrosswalksDictionary.Remove(line); } else { foreach (var crosswalk in GetLinesIsBorder(line)) { crosswalk.RemoveBorder(line); } } LinesDictionary.Remove(line.PointPair.Hash); }
public void Clear() { LinesDictionary.Clear(); FillersList.Clear(); RecalculateDashes(); }
public bool TryGetLine <LineType>(ulong lineId, out LineType line) where LineType : MarkupLine { if (LinesDictionary.TryGetValue(lineId, out MarkupLine rawLine) && rawLine is LineType) { line = rawLine as LineType; return(true); } else { line = null; return(false); } }
private void RemoveLine(MarkupLine line) { foreach (var intersect in GetExistIntersects(line).ToArray()) { intersect.Pair.GetOther(line).RemoveRules(line); LineIntersects.Remove(intersect.Pair); } foreach (var filler in GetLineFillers(line).ToArray()) { FillersList.Remove(filler); } LinesDictionary.Remove(line.PointPair.Hash); }
public MarkupLine ToggleConnection(MarkupPointPair pointPair, Style.StyleType style) { if (LinesDictionary.TryGetValue(pointPair.Hash, out MarkupLine line)) { RemoveConnect(line); return(null); } else { line = MarkupLine.FromStyle(this, pointPair, style); LinesDictionary[pointPair.Hash] = line; NeedRecalculateBatches = true; return(line); } }
public MarkupLine ToggleConnection(MarkupPointPair pointPair, Style.StyleType style) { if (LinesDictionary.TryGetValue(pointPair.Hash, out MarkupLine line)) { RemoveConnect(line); return(null); } else { if (pointPair.IsNormal && !EarlyAccess.CheckFunctionAccess(Localize.EarlyAccess_Function_PerpendicularLines)) { return(null); } line = MarkupLine.FromStyle(this, pointPair, style); LinesDictionary[pointPair.Hash] = line; NeedRecalculateBatches = true; return(line); } }
public bool ContainsLine(MarkupPointPair pointPair) => LinesDictionary.ContainsKey(pointPair.Hash);
public bool TryGetLine(ulong lineId, out MarkupLine line) => LinesDictionary.TryGetValue(lineId, out line);
public bool ExistConnection(MarkupPointPair pointPair) => LinesDictionary.ContainsKey(pointPair.Hash);