本文整理汇总了C#中PurplePen.EventDB.RemoveControlPoint方法的典型用法代码示例。如果您正苦于以下问题:C# EventDB.RemoveControlPoint方法的具体用法?C# EventDB.RemoveControlPoint怎么用?C# EventDB.RemoveControlPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PurplePen.EventDB
的用法示例。
在下文中一共展示了EventDB.RemoveControlPoint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RemoveControl
// Removes a control from the event. If the control is present in any course as a course-control, those
// course-controls are also removed.
public static void RemoveControl(EventDB eventDB, Id<ControlPoint> controlId)
{
// Find all of the courses/course-controls that are this control.
foreach (Id<Course> courseId in QueryEvent.CoursesUsingControl(eventDB, controlId)) {
Id<CourseControl> courseControlId;
do {
// Remove one course control could remove multiple, so only remove first of the course controls that use that control, then
// check again.
courseControlId = QueryEvent.GetCourseControlsInCourse(eventDB, new CourseDesignator(courseId), controlId).FirstOrDefault();
if (courseControlId.IsNotNone)
RemoveCourseControl(eventDB, courseId, courseControlId);
} while (courseControlId.IsNotNone);
}
// Find all of the legs that use this control and remove them.
List<Id<Leg>> legIdList = new List<Id<Leg>>();
foreach (Id<Leg> legId in eventDB.AllLegIds) {
Leg leg = eventDB.GetLeg(legId);
if (leg.controlId1 == controlId || leg.controlId2 == controlId)
legIdList.Add(legId);
}
foreach (Id<Leg> legId in legIdList)
eventDB.RemoveLeg(legId);
// Remove the control point itself.
eventDB.RemoveControlPoint(controlId);
}