using System; using System.Collections.Generic; using UnityEngine; // Token: 0x0200008C RID: 140 public class KeyControl : MonoBehaviour { // Token: 0x06000DDD RID: 3549 RVA: 0x0010560C File Offset: 0x0010380C public KeyCode GetHotkey(string type) { int num = 0; using (List.Enumerator enumerator = this.keyFunction.GetEnumerator()) { while (enumerator.MoveNext()) { if (enumerator.Current == type) { return this.keys[num]; } num++; } } return this.keys[0]; } // Token: 0x06000DDE RID: 3550 RVA: 0x00105684 File Offset: 0x00103884 public string GetHotkeyString(string type) { if (Links.x.joy) { return ""; } int num = 0; using (List.Enumerator enumerator = this.keyFunction.GetEnumerator()) { while (enumerator.MoveNext()) { if (enumerator.Current == type) { return this.keyStrings[num]; } num++; } } return this.keyStrings[0]; } // Token: 0x06000DDF RID: 3551 RVA: 0x0010570C File Offset: 0x0010390C public string GetHotkeyByIndex(int n) { int num = 0; foreach (string text in this.keyFunction) { if (num == n) { string text2 = this.keyStrings[num]; return this.GetKeyReal(text2); } num++; } return ""; } // Token: 0x06000DE0 RID: 3552 RVA: 0x00105784 File Offset: 0x00103984 public string GetHudHotkey(int index) { string text = this.keyStrings[index + 13]; return this.GetKeyReal(text); } // Token: 0x06000DE1 RID: 3553 RVA: 0x001057A8 File Offset: 0x001039A8 public string GetKeyReal(string theKey) { string text = theKey; if (text.Contains("0")) { text = "0"; } if (text.Contains("1")) { text = "1"; } if (text.Contains("2")) { text = "2"; } if (text.Contains("3")) { text = "3"; } if (text.Contains("4")) { text = "4"; } if (text.Contains("5")) { text = "5"; } if (text.Contains("6")) { text = "6"; } if (text.Contains("7")) { text = "7"; } if (text.Contains("8")) { text = "8"; } if (text.Contains("9")) { text = "9"; } if (text.Contains("Plus")) { text = "+"; } if (text.Contains("Equals")) { text = "+"; } if (text.Contains("Minus")) { text = "-"; } if (text.Contains("Caret")) { text = "~"; } if (text.Contains("Delete")) { text = "Del"; } if (text.Contains("Comma")) { text = ","; } if (text.Contains("Quest")) { text = "?"; } if (text.Contains("Period")) { text = "."; } if (text.Contains("Semi")) { text = ";"; } if (text.Contains("Quote")) { text = "'"; } if (text.Contains("Left Shift")) { text = "LS"; } if (text.Contains("Right Shift")) { text = "RS"; } if (text.Contains("Left Control")) { text = "LC"; } if (text.Contains("Right Control")) { text = "RC"; } if (text.Contains("Left Meta")) { text = "LC"; } if (text.Contains("Right Meta")) { text = "RC"; } if (text.Contains("Left Apple")) { text = "LC"; } if (text.Contains("Right Apple")) { text = "RC"; } if (text.Contains("Left Option")) { text = "LA"; } if (text.Contains("Right Option")) { text = "RA"; } if (text.Contains("Left Shift")) { text = "LS"; } if (text.Contains("Caps")) { text = "CP"; } if (text.Contains("Left Arrow")) { text = "Lt"; } if (text.Contains("Right Arrow")) { text = "Rt"; } if (text.Contains("Up Arrow")) { text = "Up"; } if (text.Contains("Down Arrow")) { text = "Dn"; } if (text.Contains("Left Bracket")) { text = "["; } if (text.Contains("Right Brack")) { text = "]"; } if (text.Contains("Backslash")) { text = "|"; } return text; } // Token: 0x06000DE2 RID: 3554 RVA: 0x00105AA0 File Offset: 0x00103CA0 public int GetKeyIconIndex(string theKey) { int num = 0; if (theKey.Contains("0")) { return 0; } if (theKey.Contains("1")) { return 1; } if (theKey.Contains("2")) { return 2; } if (theKey.Contains("3")) { return 3; } if (theKey.Contains("4")) { return 4; } if (theKey.Contains("5")) { return 5; } if (theKey.Contains("6")) { return 6; } if (theKey.Contains("7")) { return 7; } if (theKey.Contains("8")) { return 8; } if (theKey.Contains("9")) { return 9; } if (theKey.Contains("Plus")) { return 72; } if (theKey.Contains("Equals")) { return 72; } if (theKey.Contains("Minus")) { return 61; } if (theKey.Contains("Caret")) { return 87; } if (theKey.Contains("Delete")) { return 30; } if (theKey.Contains("Comma")) { return 59; } if (theKey.Contains("Quest")) { return 76; } if (theKey.Contains("Period")) { return 60; } if (theKey.Contains("Semi")) { return 80; } if (theKey.Contains("Quote")) { return 77; } if (theKey.Contains("Left Shift")) { return 82; } if (theKey.Contains("Right Shift")) { return 82; } if (theKey.Contains("Left Control")) { return 28; } if (theKey.Contains("Right Control")) { return 28; } if (theKey.Contains("Left Meta")) { return 27; } if (theKey.Contains("Right Meta")) { return 27; } if (theKey.Contains("Left Apple")) { return 27; } if (theKey.Contains("Right Apple")) { return 27; } if (theKey.Contains("Left Option")) { return 14; } if (theKey.Contains("Right Option")) { return 14; } if (theKey.Contains("Caps")) { return 26; } if (theKey.Contains("Left Arrow")) { return 16; } if (theKey.Contains("Right Arrow")) { return 17; } if (theKey.Contains("Up Arrow")) { return 18; } if (theKey.Contains("Down Arrow")) { return 15; } if (theKey.Contains("Left Bracket")) { return 23; } if (theKey.Contains("Right Brack")) { return 24; } if (theKey.Contains("Backslash")) { return 83; } if (theKey.Contains("Escape")) { return 36; } if (theKey == "A") { return 13; } if (theKey == "B") { return 20; } if (theKey == "C") { return 25; } if (theKey == "D") { return 29; } if (theKey == "E") { return 31; } if (theKey == "F") { return 37; } if (theKey == "G") { return 50; } if (theKey == "H") { return 51; } if (theKey == "I") { return 53; } if (theKey == "J") { return 55; } if (theKey == "K") { return 56; } if (theKey == "L") { return 57; } if (theKey == "M") { return 58; } if (theKey == "N") { return 66; } if (theKey == "O") { return 68; } if (theKey == "P") { return 69; } if (theKey == "Q") { return 75; } if (theKey == "R") { return 78; } if (theKey == "S") { return 79; } if (theKey == "T") { return 85; } if (theKey == "U") { return 88; } if (theKey == "V") { return 89; } if (theKey == "W") { return 90; } if (theKey == "X") { return 92; } if (theKey == "Y") { return 93; } if (theKey == "Z") { return 94; } if (theKey == "Esc") { return 36; } if (theKey == "LMB") { return 62; } if (theKey == "LMBDouble") { return 65; } if (theKey == "RMB") { return 64; } if (theKey == "Space") { return 84; } if (theKey == "Tab") { return 86; } return num; } // Token: 0x06000DE3 RID: 3555 RVA: 0x00105FA7 File Offset: 0x001041A7 public void Setup() { if (ES3.FileExists("Keys.es3")) { this.DoLoad(); } this.DoSave(); Links.x.pocketWheel.SetHotkeys(Links.x.mk); } // Token: 0x06000DE4 RID: 3556 RVA: 0x00105FDA File Offset: 0x001041DA private void Start() { this.dragging = false; this.hoverBox = null; this.hoverObj = null; this.EndDrag(); } // Token: 0x06000DE5 RID: 3557 RVA: 0x00105FF7 File Offset: 0x001041F7 public void DoSave() { ES3.Save>("Keys", this.keyStrings, "Keys.es3"); } // Token: 0x06000DE6 RID: 3558 RVA: 0x00106010 File Offset: 0x00104210 public void SetNewKey(KeyDrag keyDrag, KeyDrop keyDrop) { int num = 0; using (List.Enumerator enumerator = this.keyFunction.GetEnumerator()) { while (enumerator.MoveNext()) { if (enumerator.Current == keyDrag.keyFunction) { this.keys[num] = this.ConvertToKeyCode(keyDrop.key); this.keyStrings[num] = keyDrop.key; } num++; } } this.DoSave(); } // Token: 0x06000DE7 RID: 3559 RVA: 0x001060A0 File Offset: 0x001042A0 public void StartDrag() { for (int i = 0; i < this.allDrops.Count; i++) { this.allDrops[i].StartDrag(); } } // Token: 0x06000DE8 RID: 3560 RVA: 0x001060D4 File Offset: 0x001042D4 public void EndDrag() { for (int i = 0; i < this.allDrops.Count; i++) { this.allDrops[i].EndDrag(); } if (Links.x.gaia.sceneLoaded) { this.DoSave(); Links.x.fellowship.UpdateHotkeys(); } Links.x.pocketWheel.SetHotkeys(Links.x.mk); } // Token: 0x06000DE9 RID: 3561 RVA: 0x00106148 File Offset: 0x00104348 public KeyDrop GetMatchingDrop(string s) { for (int i = 0; i < this.allDrops.Count; i++) { if (this.allDrops[i].key == s) { return this.allDrops[i]; } } return null; } // Token: 0x06000DEA RID: 3562 RVA: 0x00106194 File Offset: 0x00104394 public bool KeyOn(KeyDrop keyDrop) { if (this.hoverObj && this.hoverObj.savedBox && this.hoverObj.savedBox == keyDrop) { return false; } for (int i = 0; i < this.keys.Count; i++) { if (this.allKeys[i] && this.keys[i] == keyDrop.keyCode) { return true; } } return false; } // Token: 0x06000DEB RID: 3563 RVA: 0x00106218 File Offset: 0x00104418 public KeyCode ConvertToKeyCode(string s) { for (int i = 0; i < this.allDrops.Count; i++) { if (s == this.allDrops[i].key) { return this.allDrops[i].keyCode; } } return KeyCode.None; } // Token: 0x06000DEC RID: 3564 RVA: 0x00106268 File Offset: 0x00104468 public void DoLoad() { List list = ES3.Load>("Keys", "Keys.es3"); if (list.Count != this.keyStrings.Count) { int count = list.Count; for (int i = 0; i < this.keyStrings.Count; i++) { if (i >= count) { list.Add(this.keyStrings[i]); } } for (int j = 0; j < list.Count; j++) { this.keyStrings[j] = list[j]; } } else { this.keyStrings = ES3.Load>("Keys", "Keys.es3"); } this.SetKeys(); Links.x.pocketWheel.SetHotkeys(Links.x.mk); } // Token: 0x06000DED RID: 3565 RVA: 0x00106328 File Offset: 0x00104528 public string FindOpenPartyKey() { if (this.everyKey.Count == 0) { this.everyKey.Add("Z"); this.everyKey.Add("X"); this.everyKey.Add("C"); this.everyKey.Add("V"); this.everyKey.Add("Alpha 5"); this.everyKey.Add("Alpha 6"); this.everyKey.Add("Alpha 7"); this.everyKey.Add("Alpha 8"); this.everyKey.Add("A"); this.everyKey.Add("S"); this.everyKey.Add("D"); this.everyKey.Add("F"); this.everyKey.Add("G"); this.everyKey.Add("H"); this.everyKey.Add("J"); this.everyKey.Add("K"); this.everyKey.Add("L"); this.everyKey.Add("B"); this.everyKey.Add("N"); this.everyKey.Add("M"); this.everyKey.Add("Q"); this.everyKey.Add("W"); this.everyKey.Add("E"); this.everyKey.Add("R"); this.everyKey.Add("T"); this.everyKey.Add("Y"); this.everyKey.Add("U"); this.everyKey.Add("I"); this.everyKey.Add("O"); this.everyKey.Add("P"); this.everyKey.Add("Alpha 9"); this.everyKey.Add("Alpha 0"); } for (int i = 0; i < this.everyKey.Count; i++) { if (!this.keyStrings.Contains(this.everyKey[i])) { return this.everyKey[i]; } } return "None"; } // Token: 0x06000DEE RID: 3566 RVA: 0x00106588 File Offset: 0x00104788 public string FindOpenAttackKey() { if (this.everyKey.Count == 0) { this.everyKey.Add("Left Control"); this.everyKey.Add("Left Option"); this.everyKey.Add("Space"); this.everyKey.Add("Z"); this.everyKey.Add("X"); this.everyKey.Add("C"); this.everyKey.Add("V"); this.everyKey.Add("Alpha 5"); this.everyKey.Add("Alpha 6"); this.everyKey.Add("Alpha 7"); this.everyKey.Add("Alpha 8"); this.everyKey.Add("A"); this.everyKey.Add("S"); this.everyKey.Add("D"); this.everyKey.Add("F"); this.everyKey.Add("G"); this.everyKey.Add("H"); this.everyKey.Add("J"); this.everyKey.Add("K"); this.everyKey.Add("L"); this.everyKey.Add("B"); this.everyKey.Add("N"); this.everyKey.Add("M"); this.everyKey.Add("Q"); this.everyKey.Add("W"); this.everyKey.Add("E"); this.everyKey.Add("R"); this.everyKey.Add("T"); this.everyKey.Add("Y"); this.everyKey.Add("U"); this.everyKey.Add("I"); this.everyKey.Add("O"); this.everyKey.Add("P"); this.everyKey.Add("Alpha 9"); this.everyKey.Add("Alpha 0"); } for (int i = 0; i < this.everyKey.Count; i++) { if (!this.keyStrings.Contains(this.everyKey[i])) { return this.everyKey[i]; } } return "None"; } // Token: 0x06000DEF RID: 3567 RVA: 0x00106818 File Offset: 0x00104A18 public void SetKeys() { bool flag = false; for (int i = 0; i < this.allKeys.Count; i++) { if (this.allKeys[i]) { if (this.allKeys[i].gameObject.name.Contains("Party") && this.keyStrings[i] == "None") { if (this.allKeys[i].gameObject.name == "Party 1") { string text = "Alpha 1"; if (this.keyStrings.Contains(text)) { this.keyStrings[i] = this.FindOpenPartyKey(); } else { this.keyStrings[i] = text; } } if (this.allKeys[i].gameObject.name == "Party 2") { string text2 = "Alpha 2"; if (this.keyStrings.Contains(text2)) { this.keyStrings[i] = this.FindOpenPartyKey(); } else { this.keyStrings[i] = text2; } } if (this.allKeys[i].gameObject.name == "Party 3") { string text3 = "Alpha 3"; if (this.keyStrings.Contains(text3)) { this.keyStrings[i] = this.FindOpenPartyKey(); } else { this.keyStrings[i] = text3; } } if (this.allKeys[i].gameObject.name == "Party 4") { string text4 = "Alpha 4"; if (this.keyStrings.Contains(text4)) { this.keyStrings[i] = this.FindOpenPartyKey(); } else { this.keyStrings[i] = text4; } } } if (this.allKeys[i].gameObject.name.Contains("Commands") && this.keyStrings[i] == "None") { string text5 = "Left Shift"; if (this.keyStrings.Contains(text5)) { text5 = "Left Control"; if (this.keyStrings.Contains(text5)) { this.keyStrings[i] = this.FindOpenAttackKey(); } } else { this.keyStrings[i] = text5; } } if (this.allKeys[i].gameObject.name.Contains("Attack") && this.keyStrings[i] == "None") { string text6 = "Z"; if (this.keyStrings.Contains(text6)) { text6 = "Alpha 1"; if (this.keyStrings.Contains(text6)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { flag = true; this.keyStrings[i] = text6; } } else { this.keyStrings[i] = text6; } } if (this.allKeys[i].gameObject.name.Contains("Pin") && this.keyStrings[i] == "None") { string text7 = "X"; if (flag) { text7 = "Alpha 2"; } if (this.keyStrings.Contains(text7)) { text7 = "Alpha 2"; if (flag) { text7 = "X"; } if (this.keyStrings.Contains(text7)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text7; } } else { this.keyStrings[i] = text7; } } if (this.allKeys[i].gameObject.name.Contains("Charge") && this.keyStrings[i] == "None") { string text8 = "C"; if (flag) { text8 = "Alpha 3"; } if (this.keyStrings.Contains(text8)) { text8 = "Alpha 3"; if (flag) { text8 = "C"; } if (this.keyStrings.Contains(text8)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text8; } } else { this.keyStrings[i] = text8; } } if (this.allKeys[i].gameObject.name.Contains("Rally") && this.keyStrings[i] == "None") { string text9 = "V"; if (flag) { text9 = "Alpha 4"; } if (this.keyStrings.Contains(text9)) { text9 = "Alpha 4"; if (flag) { text9 = "V"; } if (this.keyStrings.Contains(text9)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text9; } } else { this.keyStrings[i] = text9; } } if (this.allKeys[i].gameObject.name.Contains("Spells") && this.keyStrings[i] == "None") { string text10 = "B"; if (flag) { text10 = "Alpha 5"; } if (this.keyStrings.Contains(text10)) { text10 = "Alpha 5"; if (flag) { text10 = "B"; } if (this.keyStrings.Contains(text10)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text10; } } else { this.keyStrings[i] = text10; } } if (this.allKeys[i].gameObject.name.Contains("Sneak") && this.keyStrings[i] == "None") { string text11 = "F"; if (flag) { text11 = "Alpha 6"; } Debug.Log(text11 + " " + this.keyStrings.Contains(text11).ToString()); if (this.keyStrings.Contains(text11)) { text11 = "Alpha 6"; if (flag) { text11 = "F"; } if (this.keyStrings.Contains(text11)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text11; } } else { this.keyStrings[i] = text11; } } if (this.allKeys[i].gameObject.name.Contains("Talk") && this.keyStrings[i] == "None") { string text12 = "G"; if (flag) { text12 = "Alpha 7"; } if (this.keyStrings.Contains(text12)) { text12 = "Alpha 7"; if (flag) { text12 = "G"; } if (this.keyStrings.Contains(text12)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text12; } } else { this.keyStrings[i] = text12; } } if (this.allKeys[i].gameObject.name.Contains("Item1") && this.keyStrings[i] == "None") { string text13 = "H"; if (flag) { text13 = "Alpha 8"; } if (this.keyStrings.Contains(text13)) { text13 = "Alpha 8"; if (flag) { text13 = "H"; } if (this.keyStrings.Contains(text13)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text13; } } else { this.keyStrings[i] = text13; } } if (this.allKeys[i].gameObject.name.Contains("Item2") && this.keyStrings[i] == "None") { string text14 = "J"; if (flag) { text14 = "Alpha 9"; } if (this.keyStrings.Contains(text14)) { text14 = "Alpha 9"; if (flag) { text14 = "J"; } if (this.keyStrings.Contains(text14)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text14; } } else { this.keyStrings[i] = text14; } } if (this.allKeys[i].gameObject.name.Contains("Item3") && this.keyStrings[i] == "None") { string text15 = "K"; if (flag) { text15 = "Alpha 0"; } if (this.keyStrings.Contains(text15)) { text15 = "Alpha 0"; if (flag) { text15 = "K"; } if (this.keyStrings.Contains(text15)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text15; } } else { this.keyStrings[i] = text15; } } if (this.allKeys[i].gameObject.name.Contains("HUD") && this.keyStrings[i] == "None") { string text16 = "Left Option"; if (this.keyStrings.Contains(text16)) { text16 = "Left Command"; if (this.keyStrings.Contains(text16)) { text16 = "Left Control"; if (this.keyStrings.Contains(text16)) { this.keyStrings[i] = this.FindOpenAttackKey(); } else { this.keyStrings[i] = text16; } } else { this.keyStrings[i] = text16; } } else { this.keyStrings[i] = text16; } } } this.keys[i] = this.ConvertToKeyCode(this.keyStrings[i]); this.hoverBox = this.GetMatchingDrop(this.keyStrings[i]); if (this.hoverBox && this.allKeys[i]) { this.allKeys[i].SetSavedBox(this.hoverBox); } } } // Token: 0x04001665 RID: 5733 public KeyDrag dragKey; // Token: 0x04001666 RID: 5734 public bool dragging; // Token: 0x04001667 RID: 5735 public List keyFunction = new List(); // Token: 0x04001668 RID: 5736 public List keys = new List(); // Token: 0x04001669 RID: 5737 public List keyStrings = new List(); // Token: 0x0400166A RID: 5738 public List allKeys = new List(); // Token: 0x0400166B RID: 5739 public List allDrops = new List(); // Token: 0x0400166C RID: 5740 private ES3File es3File; // Token: 0x0400166D RID: 5741 public bool canDrop; // Token: 0x0400166E RID: 5742 public KeyDrop hoverBox; // Token: 0x0400166F RID: 5743 public KeyDrag hoverObj; // Token: 0x04001670 RID: 5744 public List everyKey = new List(); }