public static Helper.KeycodeData getAlternateKeyBindings(String sTheText) { Helper.KeycodeData kcData = new Helper.KeycodeData(); kcData.NumOfCodes = 0; kcData.kCode1 = KeyCode.None; kcData.kCode2 = KeyCode.None; kcData.kCode3 = KeyCode.None; try { string[] sArray = sTheText.Split(','); byte ilen = (byte)sArray.Length; if (ilen <= 1) { return(kcData); } if (ilen == 2) { kcData.kCode1 = (KeyCode)Enum.Parse(typeof(KeyCode), sArray[0].ToString()); kcData.kCode2 = (KeyCode)Enum.Parse(typeof(KeyCode), sArray[1].ToString()); kcData.NumOfCodes = 2; } else { kcData.kCode1 = (KeyCode)Enum.Parse(typeof(KeyCode), sArray[0].ToString()); kcData.kCode2 = (KeyCode)Enum.Parse(typeof(KeyCode), sArray[1].ToString()); kcData.kCode3 = (KeyCode)Enum.Parse(typeof(KeyCode), sArray[2].ToString()); kcData.NumOfCodes = 3; } if (Mod.DEBUG_LOG_ON) { Helper.dbgLog("Alternate Keys bound: " + kcData.NumOfCodes.ToString()); } } catch (Exception ex) { Helper.dbgLog(ex.Message.ToString(), ex, true); } if ((kcData.kCode1 == KeyCode.None) || kcData.kCode2 == KeyCode.None) { kcData.kCode1 = KeyCode.LeftControl; kcData.kCode2 = KeyCode.LeftAlt; kcData.kCode3 = KeyCode.L; kcData.NumOfCodes = 3; Helper.dbgLog("Alternate Keys enabled but used incorrectly, using default alternate."); } return(kcData); }
/// <summary> /// Our initialize stuff; call after panel\form setup. /// </summary> private void DoOnStartup() { FetchMaxSizeLimitSizeData(); CreateTextLabels(); FetchValueLabelData(); CreateDataLabels(); PopulateControlContainers(); if (Mod.config.UseAlternateKeyBinding) { AlternateBindingData = Configuration.getAlternateKeyBindings(Mod.config.AlternateKeyBindingCode); if (AlternateBindingData.NumOfCodes > 1) { bUseAlternateKeys = true;} } // RefreshDisplayData(); //fill'em up manually initially. if (Mod.config.CheckStatsForLimitsEnabled) { this.StartCoroutine(CheckForStatsStatus()); if (Mod.DEBUG_LOG_ON) { Helper.dbgLog("CheckForStatsStatus coroutine started."); } } if (m_AutoRefreshCheckbox.isChecked) { this.StartCoroutine(RefreshDisplayDataWrapper()); if (Mod.DEBUG_LOG_ON) { Helper.dbgLog("RefreshDisplayDataWrapper coroutine started."); } } else { RefreshDisplayData(); //at least run once. } }