45 lines
1.5 KiB
C#
45 lines
1.5 KiB
C#
|
#if UNITY_EDITOR
|
|||
|
using UnityEngine;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
|
|||
|
namespace GSpawn
|
|||
|
{
|
|||
|
public static class NiceKeyCodeStrings
|
|||
|
{
|
|||
|
private static Dictionary<KeyCode, string> _keyStrings = new Dictionary<KeyCode, string>();
|
|||
|
|
|||
|
static NiceKeyCodeStrings()
|
|||
|
{
|
|||
|
var keyValues = Enum.GetValues(typeof(KeyCode));
|
|||
|
foreach (KeyCode keyVal in keyValues)
|
|||
|
{
|
|||
|
// Note: We need to check if the key already exists
|
|||
|
// because there are keys that share the same
|
|||
|
// integer value (e.g. RightApple & RightCommand).
|
|||
|
if (!_keyStrings.ContainsKey(keyVal))
|
|||
|
_keyStrings.Add(keyVal, keyVal.ToString());
|
|||
|
}
|
|||
|
|
|||
|
for (int i = 0; i < 10; ++i)
|
|||
|
_keyStrings[(KeyCode)((int)KeyCode.Alpha0 + i)] = i.ToString();
|
|||
|
|
|||
|
_keyStrings[KeyCode.LeftBracket] = "[";
|
|||
|
_keyStrings[KeyCode.RightBracket] = "]";
|
|||
|
_keyStrings[KeyCode.Equals] = "=";
|
|||
|
_keyStrings[KeyCode.Comma] = ",";
|
|||
|
_keyStrings[KeyCode.Semicolon] = ";";
|
|||
|
_keyStrings[KeyCode.Period] = ".";
|
|||
|
_keyStrings[KeyCode.Backslash] = "\\";
|
|||
|
_keyStrings[KeyCode.Slash] = "/";
|
|||
|
_keyStrings[KeyCode.Minus] = "-";
|
|||
|
_keyStrings[KeyCode.BackQuote] = "`";
|
|||
|
}
|
|||
|
|
|||
|
public static string get(KeyCode code)
|
|||
|
{
|
|||
|
return _keyStrings[code];
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endif
|