/// <summary> /// Checks if the pipeline where the mouse click has been made is not connected(null). /// </summary> /// <param name="location">The location of the mouse click.</param> /// <returns>True if the pipeline is null.Otherwise false.</returns> public override bool IsLocationEmpty(Point location) { if (UpperHalf.Contains(location)) { return(this.UpperOutcomePipeline == null); } else if (LowerHalf.Contains(location)) { return(this.LowerOutcomePipeline == null); } else if (IncomeHalf.Contains(location)) { return(this.IncomePipeline == null); } return(false); }
/// <summary> /// Gets a concrete point that is used for connecting pipelines based on where the mouse click has been made. /// </summary> /// <param name="location">The location of the mouse click.</param> /// <returns>A concrete prefixed point.</returns> public override Point?GetPipelineLocation(Point location) { if (UpperHalf.Contains(location)) { return(upperHalfPoint); } else if (LowerHalf.Contains(location)) { return(lowerHalfPoint); } else if (IncomeHalf.Contains(location)) { return(incomeHalfPoint); } return(null); }