Exemple #1
0
        public void Draw(string canvasName, Press.Pressed pressed)
        {
            double ymin  = 7;
            double ymax  = Buttons[canvasName].Canvas.Height - ymin;
            double hit_y = (ymax - ymin);

            if (Buttons[canvasName].Polyline.Points.Count == Buttons[canvasName].Canvas.Width)
            {
                ButtonData button = Buttons[canvasName];
                button.Polyline.Points.Clear();
                button.LastPressed  = new Point();
                Buttons[canvasName] = button;
            }

            Point point;

            Press.DIRECTION where = pressed(controller);
            if (where == Press.DIRECTION.NONE)
            {
                point = new Point(Buttons[canvasName].Polyline.Points.Count, hit_y);
            }
            else
            {
                point = new Point(Buttons[canvasName].Polyline.Points.Count, hit_y * Press.Direction(where));

                ButtonData button = Buttons[canvasName];

                if (point.X > button.LastPressed.X + 10)
                {
                    button.LastPressed = point;
                }

                Buttons[canvasName] = button;
            }

            if (!Paused)
            {
                Buttons[canvasName].Polyline.Points.Add(point);
            }

            if (!InputDelayMarkers)
            {
                Buttons[canvasName].Label.Text = Press.DirectionString(where);
            }

            Buttons[canvasName].Polyline.Stroke = Press.DirectionBrush(where);

            if (Buttons[canvasName].Canvas.Children.Contains(Buttons[canvasName].Polyline))
            {
                Buttons[canvasName].Canvas.Children.Remove(Buttons[canvasName].Polyline);
            }

            Buttons[canvasName].Canvas.Children.Add(Buttons[canvasName].Polyline);
        }
Exemple #2
0
        public static string DirectionString(Press.DIRECTION where)
        {
            switch (where)
            {
            case Press.DIRECTION.UP:
                return("Up");

            case Press.DIRECTION.DOWN:
                return("Down");

            case Press.DIRECTION.LEFT:
                return("Left");

            case Press.DIRECTION.RIGHT:
                return("Right");

            case Press.DIRECTION.PRESSED:
                return("Pressed");
            }

            return("Waiting...");
        }
Exemple #3
0
 public static double Direction(Press.DIRECTION where)
 {
     return(DirectionHit[(int)Math.Sqrt((int)where)]);
 }