示例#1
0
        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();
                    }
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
 private void RemoveRockShapeFromCanvas(RockOnRouteViewModel rockOnRoute)
 {
     RemoveShapeFromCanvas(rockOnRoute.ShapeOnCanvas);
 }