Exemplo n.º 1
0
 public static void DrawLine(Vector2 p1, Vector2 p2, Texture2D line, LogicGraph game, Color color, RoadDisplayMode mode = RoadDisplayMode.Direct)
 {
     Vector2 m1, m2;
     switch (mode)
     {
         case RoadDisplayMode.Direct:
         default:
             game.SpriteBatch.Draw(line, p1, new Rectangle(0, 2, (int)((p2 - p1).Length()), 4)
                 , color, getAngle(p1, p2), Vector2.Zero, 1, SpriteEffects.None, 0);
             break;
         case RoadDisplayMode.DownTuring:
             m1 = new Vector2(p1.Y > p2.Y ? p2.X : p1.X, Math.Max(p1.Y, p2.Y));
             game.SpriteBatch.Draw(line, p1, new Rectangle(0, 2, (int)((m1 - p1).Length()), 4)
                 , color, getAngle(p1, m1), Vector2.Zero, 1, SpriteEffects.None, 0);
             game.SpriteBatch.Draw(line, p2, new Rectangle(0, 2, (int)((m1 - p2).Length()), 4)
                 , color, getAngle(p2, m1), Vector2.Zero, 1, SpriteEffects.None, 0);
             break;
         case RoadDisplayMode.UpTurning:
             m1 = new Vector2(p1.Y < p2.Y ? p2.X : p1.X, Math.Min(p1.Y, p2.Y));
             game.SpriteBatch.Draw(line, p1, new Rectangle(0, 2, (int)((m1 - p1).Length()), 4)
                 , color, getAngle(p1, m1), Vector2.Zero, 1, SpriteEffects.None, 0);
             game.SpriteBatch.Draw(line, p2, new Rectangle(0, 2, (int)((m1 - p2).Length()), 4)
                 , color, getAngle(p2, m1), Vector2.Zero, 1, SpriteEffects.None, 0);
             break;
     }
 }
Exemplo n.º 2
0
 public override void Update(GameTime gameTime)
 {
     if (mode == 2)
     {
         roadmode = (RoadDisplayMode)Math.Abs(Game.MouseHelper.CurrentState.WheelDelta / 100 % 5);
     }
     base.Update(gameTime);
 }