protected virtual void AddFoundDependency(IFigure figure) { if (figure != null && ExpectedDependency.IsAssignableFrom(figure.GetType())) { FoundDependencies.Add(figure); } }
protected override void AddFoundDependency(IFigure figure) { if (figure != null) { FoundDependencies.Add(figure); } }
protected override void Click(Point coordinates) { var figure = Drawing.Figures.HitTest(coordinates); if (figure is IShapeWithInterior) { FoundDependencies.Clear(); FoundDependencies.Add(figure); RemoveIntermediateFigureIfNecessary(); RemoveTempPointIfNecessary(); AddFiguresAndRestart(); return; } //var point = Drawing.Figures.HitTest<IPoint>(coordinates); if (figure is PointBase && FoundDependencies.Count >= 4 // 4 including the TempPoint // (and 3 after TempPoint is removed) && FoundDependencies.Contains(figure)) { RemoveIntermediateFigureIfNecessary(); RemoveTempPointIfNecessary(); AddFiguresAndRestart(); return; } base.Click(coordinates); }
public void Register(string uniqueName, string originalId, T resource) { if (resource == null) { MissingDependencyNames.Add(uniqueName); } else { if (!FoundDependencies.ContainsKey(originalId)) { FoundDependencies.Add(originalId, resource); } } }
public override void MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { var underMouse = Drawing.Figures.HitTest(Coordinates(e), f => f is ILengthProvider && !f.DependsOn(TempPoint)); if (underMouse != null && Drawing.Figures.HitTest <IPoint>(Coordinates(e)) == null) { FoundDependencies.Clear(); FoundDependencies.Add(underMouse); RemoveIntermediateFigureIfNecessary(); RemoveTempPointIfNecessary(); AddFiguresAndRestart(); return; } base.MouseDown(sender, e); }