Esempio n. 1
0
        private static (short, short) GetStickValues(ref KeyboardStateSnapshot snapshot, JoyconConfigKeyboardStick <ConfigKey> stickConfig)
        {
            short stickX = 0;
            short stickY = 0;

            if (snapshot.IsPressed((Key)stickConfig.StickUp))
            {
                stickY += 1;
            }

            if (snapshot.IsPressed((Key)stickConfig.StickDown))
            {
                stickY -= 1;
            }

            if (snapshot.IsPressed((Key)stickConfig.StickRight))
            {
                stickX += 1;
            }

            if (snapshot.IsPressed((Key)stickConfig.StickLeft))
            {
                stickX -= 1;
            }

            OpenTK.Mathematics.Vector2 stick = new OpenTK.Mathematics.Vector2(stickX, stickY);

            stick.NormalizeFast();

            return((short)(stick.X * short.MaxValue), (short)(stick.Y * short.MaxValue));
        }
        public override void Update()
        {
            OpenTK.Mathematics.Vector2 difference = Inputs.Mouse.Position - LastMousePosition;
            Look(difference.X, difference.Y);

            float moveB = 0.0f, moveR = 0.0f, moveU = 0.0f;

            if (Inputs.Keyboard.IsKeyDown(Keys.W))
            {
                moveB -= 1.0f;
            }
            if (Inputs.Keyboard.IsKeyDown(Keys.S))
            {
                moveB += 1.0f;
            }
            if (Inputs.Keyboard.IsKeyDown(Keys.A))
            {
                moveR -= 1.0f;
            }
            if (Inputs.Keyboard.IsKeyDown(Keys.D))
            {
                moveR += 1.0f;
            }
            if (Inputs.Keyboard.IsKeyDown(Keys.Space))
            {
                moveU += 1.0f;
            }
            if (Inputs.Mouse.IsButtonDown(MouseButton.Button5))
            {
                moveU -= 1.0f;
            }


            Move(moveB, moveR, moveU);

            LastMousePosition = Inputs.Mouse.Position;
            base.Update();
        }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="size">radius, height</param>
 public RigidBodyCapsule(OpenTK.Mathematics.Vector2 size)
 {
     Size = size;
 }
Esempio n. 4
0
 public static Vector2 ToNumeric(this OpenTK.Mathematics.Vector2 vector) => new Vector2(vector.X, vector.Y);
Esempio n. 5
0
 public static System.Numerics.Vector2 ToVec2(this OpenTK.Mathematics.Vector2 v)
 {
     return(new System.Numerics.Vector2(v.X, v.Y));
 }
Esempio n. 6
0
 public static unsafe Layer.Mathematics.Vector2 Vector2(OpenTK.Mathematics.Vector2 vector2)
 {
     return(*(Layer.Mathematics.Vector2 *) & vector2);
 }