private void canvasWall_MouseDown(object sender, MouseButtonEventArgs e) { Point mousePoint = e.GetPosition(sender as Canvas); Rock nearestRockOnWall = FindNearestRockOnWallFromTouchPoint(mousePoint); if (nearestRockOnWall != null) { selectedRockOnRoute = FindRockOnRouteViewModel(nearestRockOnWall); bool isRockAlreadyOnTheRoute = selectedRockOnRoute != null; if (routeSetClimbMode == ClimbMode.Training) { } else if (routeSetClimbMode == ClimbMode.Boulder) { if (!isRockAlreadyOnTheRoute) // new rock on route { selectedRockOnRoute = new RockOnRouteViewModel { MyRock = nearestRockOnWall }; rocksOnRoute.Add(selectedRockOnRoute); SetSelectedBoulderRockToIntermediate(); } } } }
private Shape DrawBoulderRockOnCanvas(RockOnRouteViewModel rockOnBoulderRoute) { Shape shapeToReturn; switch (rockOnBoulderRoute.BoulderStatus) { case RockOnBoulderStatus.Start: shapeToReturn = DrawStartRockOnCanvas(rockOnBoulderRoute.MyRock); break; case RockOnBoulderStatus.End: shapeToReturn = DrawEndRockOnCanvas(rockOnBoulderRoute.MyRock); break; case RockOnBoulderStatus.Int: default: shapeToReturn = DrawIntermediateRockOnCanvas(rockOnBoulderRoute.MyRock); break; } return(shapeToReturn); }
private void RemoveRockShapeFromCanvas(RockOnRouteViewModel rockOnRoute) { RemoveShapeFromCanvas(rockOnRoute.ShapeOnCanvas); }