1
0
mirror of https://github.com/Memorix101/UnityXNA/ synced 2024-12-30 15:25:35 +01:00
Memorix101 a92ad739ef added new inputsystem and spritefonts
- Replaced old Unity Input with new InputSystem
- Improved SpriteFonts
2023-04-16 17:46:17 +02:00

86 lines
3.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Diagnostics.Tracing;
using System.Linq;
using System.Text;
using UnityEngine;
namespace Microsoft.Xna.Framework.Input
{
public static class Keyboard
{
static UnityEngine.InputSystem.Key[] keyMapping;
static Keyboard()
{
keyMapping = new UnityEngine.InputSystem.Key[256];
// Alphabet
keyMapping[(int)Keys.A] = UnityEngine.InputSystem.Key.A;
keyMapping[(int)Keys.B] = UnityEngine.InputSystem.Key.B;
keyMapping[(int)Keys.C] = UnityEngine.InputSystem.Key.C;
keyMapping[(int)Keys.D] = UnityEngine.InputSystem.Key.D;
keyMapping[(int)Keys.E] = UnityEngine.InputSystem.Key.E;
keyMapping[(int)Keys.F] = UnityEngine.InputSystem.Key.F;
keyMapping[(int)Keys.G] = UnityEngine.InputSystem.Key.G;
keyMapping[(int)Keys.H] = UnityEngine.InputSystem.Key.H;
keyMapping[(int)Keys.I] = UnityEngine.InputSystem.Key.I;
keyMapping[(int)Keys.J] = UnityEngine.InputSystem.Key.J;
keyMapping[(int)Keys.K] = UnityEngine.InputSystem.Key.K;
keyMapping[(int)Keys.L] = UnityEngine.InputSystem.Key.L;
keyMapping[(int)Keys.M] = UnityEngine.InputSystem.Key.M;
keyMapping[(int)Keys.N] = UnityEngine.InputSystem.Key.N;
keyMapping[(int)Keys.O] = UnityEngine.InputSystem.Key.O;
keyMapping[(int)Keys.P] = UnityEngine.InputSystem.Key.P;
keyMapping[(int)Keys.Q] = UnityEngine.InputSystem.Key.Q;
keyMapping[(int)Keys.R] = UnityEngine.InputSystem.Key.R;
keyMapping[(int)Keys.S] = UnityEngine.InputSystem.Key.S;
keyMapping[(int)Keys.T] = UnityEngine.InputSystem.Key.T;
keyMapping[(int)Keys.U] = UnityEngine.InputSystem.Key.U;
keyMapping[(int)Keys.V] = UnityEngine.InputSystem.Key.V;
keyMapping[(int)Keys.W] = UnityEngine.InputSystem.Key.W;
keyMapping[(int)Keys.X] = UnityEngine.InputSystem.Key.X;
keyMapping[(int)Keys.Y] = UnityEngine.InputSystem.Key.Y;
keyMapping[(int)Keys.Z] = UnityEngine.InputSystem.Key.Z;
// Main number keys
keyMapping[(int)Keys.D0] = UnityEngine.InputSystem.Key.Digit0;
keyMapping[(int)Keys.D1] = UnityEngine.InputSystem.Key.Digit1;
keyMapping[(int)Keys.D2] = UnityEngine.InputSystem.Key.Digit2;
keyMapping[(int)Keys.D3] = UnityEngine.InputSystem.Key.Digit3;
keyMapping[(int)Keys.D4] = UnityEngine.InputSystem.Key.Digit4;
keyMapping[(int)Keys.D5] = UnityEngine.InputSystem.Key.Digit5;
keyMapping[(int)Keys.D6] = UnityEngine.InputSystem.Key.Digit6;
keyMapping[(int)Keys.D7] = UnityEngine.InputSystem.Key.Digit7;
keyMapping[(int)Keys.D8] = UnityEngine.InputSystem.Key.Digit8;
keyMapping[(int)Keys.D9] = UnityEngine.InputSystem.Key.Digit9;
// Others
keyMapping[(int)Keys.Enter] = UnityEngine.InputSystem.Key.Enter;
keyMapping[(int)Keys.Delete] = UnityEngine.InputSystem.Key.Delete;
keyMapping[(int)Keys.Space] = UnityEngine.InputSystem.Key.Space;
keyMapping[(int)Keys.Left] = UnityEngine.InputSystem.Key.LeftArrow;
keyMapping[(int)Keys.Right] = UnityEngine.InputSystem.Key.RightArrow;
keyMapping[(int)Keys.Up] = UnityEngine.InputSystem.Key.UpArrow;
keyMapping[(int)Keys.Down] = UnityEngine.InputSystem.Key.DownArrow;
// TODO: More key code conversions
}
internal static KeyboardState GetState()
{
bool[] keyStates = new bool[256];
for (int i = 0; i < keyStates.Length; i++)
{
if(keyMapping[i] != UnityEngine.InputSystem.Key.None)
{
//keyStates[i] = UnityEngine.Input.GetKey(keyMapping[i]);
keyStates[i] = UnityEngine.InputSystem.Keyboard.current[keyMapping[i]].isPressed;
}
}
return new KeyboardState(keyStates);
}
}
}