public void UpdateCurrentJoystick() { if (FrameWorkStaticHelper.GetNumberOfAvailableJoysticks() > 0) { currentJoystick = joysticks[FrameWorkStaticHelper.GetCurrentJoystickIndex()]; } }
protected override List <object> GetAvailableOptions() { List <object> availableModes = new List <object>(); FrameWorkStaticHelper.GetNumberOfAvailableJoysticks(); for (int i = 0; i < joysticks.Count; i++) { availableModes.Add(LanguageResources.GetString(LanguageKey.Joystick) + " " + (i + 1) + " - ID=" + joysticks[i].Vendor() + "_" + joysticks[i].ID); } return(availableModes); }
protected override void LayoutOptions(List <object> availableOptions, Window window, Callback cc) { uint oldFontSize = fontSize; SetFontSize((uint)(fontSize * 0.8f)); mGui.mFontSize = fontSize; base.LayoutOptions(availableOptions, window, cc); SetFontSize(oldFontSize); mGui.mFontSize = oldFontSize; if (FrameWorkStaticHelper.GetNumberOfAvailableJoysticks() == 0) { float imgSize = fontSize * 10; window.createStaticImage(new Vector4((window.w - imgSize) * 0.5f, (window.h - imgSize) * 0.5f, imgSize, imgSize), "nojoysticks.png"); return; } float h = GetTextVSpacing(); //totalOptions float y = joystickChangerHelper.AddControlsInfoToGui(guiWindow, mGui, (int)h, (int)(GetTextVSpacing() * 0.8f * (availableOptions.Count + 3)), 0, viewport.ActualWidth * 0.75f, 0.75f * GetTextVSpacing(), (uint)(GetFontSize() * 0.75f)); y += (int)(h * 1); const string txt = "Reset"; var txtSize = ViewHelper.MeasureText(mGui.mFont, txt, fontSize); var pos = new Vector4(h, y, txtSize, h); var resetButton = guiWindow.createButton(pos, "bgui.button", txt, new Callback(this), resetButtonID); joystickChangerHelper_onChangeButtonAdded(resetButton); y += (int)(h * 0.5f); joystickWindowsInitialY = y; CreateJoystickPointerControls(window); selectButton(currentButton); // mGui.mFontSize = oldFontSize; // joystick info // var txt = "Current joystick reading: "+ FrameWorkStaticHelper.GetJoystickVector(joysticks, false); // guiWindow.createStaticText(pos, txt); }
protected override void ProcessOptionSelection(ButtonHolder holder) { string jid; if (holder.Option.id.Equals(resetButtonID)) { KeyMap.Instance.BackToDefaults(joysticks); KeyMap.Instance.Value = KeyMap.Instance.Value; //FrameWorkStaticHelper.SetCurrentJoystickIndex(0); for (int i = 0; i < FrameWorkStaticHelper.GetNumberOfAvailableJoysticks(); i++) { jid = joysticks[i].Vendor() + "_" + joysticks[i].ID; if (jid.Equals(KeyMap.Instance.CurrentJoystick)) { FrameWorkStaticHelper.SetCurrentJoystickIndex(i); break; } } joystickChangerHelper.UpdateCurrentJoystick(); this.RecreateGUI(); return; } bool restart = false; string[] opts = holder.Value.Split(new string[] { "ID=" }, System.StringSplitOptions.RemoveEmptyEntries); jid = opts[1]; KeyMap.Instance.CurrentJoystick = jid; KeyMap.Instance.Value = KeyMap.Instance.Value; for (int i = 0; i < joysticks.Count; i++) { if (jid.Equals(joysticks[i].Vendor() + "_" + joysticks[i].ID)) { FrameWorkStaticHelper.SetCurrentJoystickIndex(i); joystickChangerHelper.UpdateCurrentJoystick(); this.RecreateGUI(); break; } } }
protected override bool IsOptionSelected(int index, ButtonHolder holder) { string option = holder.Value; if (holder.Option.id.Equals(resetButtonID)) { return(false); } if (FrameWorkStaticHelper.GetNumberOfAvailableJoysticks() == 1 && index == 0) { return(true); } string[] opts = option.Split(new string[] { "ID=" }, System.StringSplitOptions.RemoveEmptyEntries); string jid = opts[1]; return(jid.Equals(KeyMap.Instance.CurrentJoystick)); }