using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; public class KeyboardShortcuts : MonoBehaviour { public static KeyboardShortcuts Instance; public List KeyStrokes = new List(); private void Awake() { if (Instance != null) { Destroy(Instance); } Instance = this; } public void DropdownPrevious(Dropdown dropdown) { dropdown.value = dropdown.value - 1 < 0 ? dropdown.options.Count - 1 : dropdown.value - 1; } public void DropdownNext(Dropdown dropdown) { dropdown.value = dropdown.value + 1 >= dropdown.options.Count ? 0 : dropdown.value + 1; } private void Update() { KatboiSequence(); if (Input.anyKeyDown && !string.IsNullOrEmpty(Input.inputString)) { try { } catch(System.Exception e) { Debug.LogWarning("caught " + e); } } //Time if (Input.GetKeyDown(KeyCode.LeftArrow)) { FateViewerMain.Instance.ChangeAnimationFrame(-1); } if (Input.GetKeyDown(KeyCode.RightArrow)) { FateViewerMain.Instance.ChangeAnimationFrame(1); } } private void KatboiSequence() { List sequences = new List() { "KATBOI01" }; if (Input.anyKeyDown && !string.IsNullOrEmpty(Input.inputString)) { if (KeyStrokes.Count >= 10) { KeyStrokes = ((IEnumerable)KeyStrokes).Reverse().Take(10).Reverse().ToList(); } KeyStrokes.Add(Input.inputString.ToUpper()[0]); } string passcode = sequences.FirstOrDefault(s => new string(KeyStrokes.ToArray()).Contains(s)); if (!string.IsNullOrEmpty(passcode)) { switch (passcode) { case "KATBOI01": break; default: break; } KeyStrokes.Clear(); } } }