public MyGuiControlAssignKeyMessageBox(MyGuiInputDeviceEnum deviceType, MyControl controlBeingSet, MyStringId messageText) : base( styleEnum: MyMessageBoxStyleEnum.Error, buttonType: MyMessageBoxButtonsType.NONE, messageText: MyTexts.Get(messageText), messageCaption: MyTexts.Get(MySpaceTexts.SelectControl), okButtonText: default(MyStringId), cancelButtonText: default(MyStringId), yesButtonText: default(MyStringId), noButtonText: default(MyStringId), callback: null, timeoutInMiliseconds: 0, focusedResult: ResultEnum.YES, canHideOthers: true, size: null) { DrawMouseCursor = false; m_isTopMostScreen = false; m_controlBeingSet = controlBeingSet; m_deviceType = deviceType; MyInput.Static.GetListOfPressedKeys(m_oldPressedKeys); MyInput.Static.GetListOfPressedMouseButtons(m_oldPressedMouseButtons); m_closeOnEsc = false; CanBeHidden = true; }
public void SetControl(MyGuiInputDeviceEnum device, MyKeys key) { Debug.Assert(device == MyGuiInputDeviceEnum.Keyboard || device == MyGuiInputDeviceEnum.KeyboardSecond); if (device == MyGuiInputDeviceEnum.Keyboard) m_keyboardKey = key; else if (device == MyGuiInputDeviceEnum.KeyboardSecond) m_KeyboardKey2 = key; else MyLog.Default.WriteLine("ERROR: Setting non-keyboard device to keyboard control."); }
public bool IsControlAssigned(MyGuiInputDeviceEnum deviceType) { bool isAssigned = false; switch (deviceType) { case MyGuiInputDeviceEnum.Keyboard: isAssigned = m_keyboardKey != MyKeys.None; break; case MyGuiInputDeviceEnum.Mouse: isAssigned = m_mouseButton != MyMouseButtonsEnum.None; break; } return(isAssigned); }
public void SetControl(MyGuiInputDeviceEnum device, MyKeys key) { Debug.Assert(device == MyGuiInputDeviceEnum.Keyboard || device == MyGuiInputDeviceEnum.KeyboardSecond); if (device == MyGuiInputDeviceEnum.Keyboard) { m_keyboardKey = key; } else if (device == MyGuiInputDeviceEnum.KeyboardSecond) { m_KeyboardKey2 = key; } else { MyLog.Default.WriteLine("ERROR: Setting non-keyboard device to keyboard control."); } }
public MyGuiControlAssignKeyMessageBox(Dictionary <MyControl, MyGuiControlButton> buttonsDictionary, MyGuiInputDeviceEnum deviceType, MyControl control, MyTextsWrapperEnum messageText) : base(MyMessageBoxType.NULL, messageText, MyTextsWrapperEnum.SelectControl, null) { DrawMouseCursor = false; m_isTopMostScreen = false; m_backgroundTexture = MyTextureManager.GetTexture <MyTexture2D>("Textures\\GUI\\BackgroundScreen\\ProgressBackground", flags: TextureFlags.IgnoreQuality); m_size = new Vector2(598 / 1600f, 368 / 1200f); m_control = control; m_buttonsDictionary = buttonsDictionary; m_deviceType = deviceType; MyGuiManager.GetInput().GetListOfPressedKeys(m_oldPressedKeys); MyGuiManager.GetInput().GetListOfPressedMouseButtons(m_oldPressedMouseButtons); MyGuiManager.GetInput().GetListOfPressedJoystickButtons(m_oldPressedJoystickButtons); MyGuiManager.GetInput().GetListOfPressedJoystickAxes(m_oldPressedJoystickAxes); m_interferenceVideoColor = Vector4.One; m_closeOnEsc = false; m_screenCanHide = true; //Controls.Add(new MyGuiControlRotatingWheel(this, new Vector2(0, 0.05f), Vector4.One, MyGuiConstants.ROTATING_WHEEL_DEFAULT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER)); }
private void OnControlClick(MyGuiControlButtonParameters param, Dictionary<MyControl, MyGuiControlButton> buttonsDictionary, MyGuiInputDeviceEnum deviceType) { MyTextsWrapperEnum messageText = MyTextsWrapperEnum.AssignControlKeyboard; if (deviceType == MyGuiInputDeviceEnum.Mouse) { messageText = MyTextsWrapperEnum.AssignControlMouse; } else if (deviceType == MyGuiInputDeviceEnum.Joystick) { messageText = MyTextsWrapperEnum.AssignControlJoystick; } else if (deviceType == MyGuiInputDeviceEnum.JoystickAxis) { messageText = MyTextsWrapperEnum.AssignControlJoystickAxis; } MyGuiManager.AddScreen(new MyGuiControlAssignKeyMessageBox(buttonsDictionary, deviceType, param.Control, messageText)); }
private MyGuiControlButton MakeControlButton(MyControl control, Vector2 position, MyGuiInputDeviceEnum device) { StringBuilder boundText = null; control.AppendBoundButtonNames(ref boundText, device); MyControl.AppendUnknownTextIfNeeded(ref boundText, MyTexts.GetString(MyCommonTexts.UnknownControl_None)); var button = new MyGuiControlButton( position: position, text: boundText, onButtonClick: OnControlClick, visualStyle: MyGuiControlButtonStyleEnum.ControlSetting, originAlign: MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER); button.UserData = new ControlButtonData(control, device); return(button); }
public ControlButtonData(MyControl control, MyGuiInputDeviceEnum device) { this.Control = control; this.Device = device; }
private void LoadGameControl(string controlName, MyStringId controlType, MyGuiInputDeviceEnum device) { switch (device) { case MyGuiInputDeviceEnum.Keyboard: { MyKeys key = (MyKeys)Enum.Parse(typeof(MyKeys), controlName); if (!IsKeyValid(key)) { throw new Exception("Key \"" + key.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedGameControl(controlType, device).SetControl(MyGuiInputDeviceEnum.Keyboard, key); } break; case MyGuiInputDeviceEnum.KeyboardSecond: { MyKeys key = (MyKeys)Enum.Parse(typeof(MyKeys), controlName); if (!IsKeyValid(key)) { throw new Exception("Key \"" + key.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedGameControl(controlType, device).SetControl(MyGuiInputDeviceEnum.KeyboardSecond, key); } break; case MyGuiInputDeviceEnum.Mouse: MyMouseButtonsEnum mouse = ParseMyMouseButtonsEnum(controlName); if (!IsMouseButtonValid(mouse)) { throw new Exception("Mouse button \"" + mouse.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedGameControl(controlType, device).SetControl(mouse); break; case MyGuiInputDeviceEnum.None: break; default: break; } }
private MyControl FindNotAssignedGameControl(MyStringId controlId, MyGuiInputDeviceEnum deviceType) { MyControl control; if (!m_gameControlsList.TryGetValue(controlId, out control)) throw new Exception("Game control \"" + controlId.ToString() + "\" not found in control list."); if (control.IsControlAssigned(deviceType)) throw new Exception("Game control \"" + controlId.ToString() + "\" is already assigned."); return control; }
public StringBuilder GetControlButtonStringBuilder(MyGuiInputDeviceEnum deviceType) { switch (deviceType) { case MyGuiInputDeviceEnum.Keyboard: if (m_keyboardKey != Keys.None) { return(new StringBuilder(MyKeysToString.GetKeyName(m_keyboardKey))); } break; case MyGuiInputDeviceEnum.Mouse: switch (m_mouseButton) { case MyMouseButtonsEnum.Left: return(MyTextsWrapper.Get(MyTextsWrapperEnum.LeftMouseButton)); case MyMouseButtonsEnum.Middle: return(MyTextsWrapper.Get(MyTextsWrapperEnum.MiddleMouseButton)); case MyMouseButtonsEnum.Right: return(MyTextsWrapper.Get(MyTextsWrapperEnum.RightMouseButton)); case MyMouseButtonsEnum.XButton1: return(MyTextsWrapper.Get(MyTextsWrapperEnum.MouseXButton1)); case MyMouseButtonsEnum.XButton2: return(MyTextsWrapper.Get(MyTextsWrapperEnum.MouseXButton2)); } break; case MyGuiInputDeviceEnum.Joystick: if (m_joystickButton != MyJoystickButtonsEnum.None) { switch (m_joystickButton) { case MyJoystickButtonsEnum.JDLeft: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonLeft)); case MyJoystickButtonsEnum.JDRight: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonRight)); case MyJoystickButtonsEnum.JDUp: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonUp)); case MyJoystickButtonsEnum.JDDown: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonDown)); default: StringBuilder buttonName = new StringBuilder(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButton).ToString()); return(buttonName.Append(((int)m_joystickButton - 4).ToString())); } } break; case MyGuiInputDeviceEnum.JoystickAxis: if (m_joystickAxis != MyJoystickAxesEnum.None) { switch (m_joystickAxis) { case MyJoystickAxesEnum.Xpos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisXpos)); case MyJoystickAxesEnum.Xneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisXneg)); case MyJoystickAxesEnum.Ypos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisYpos)); case MyJoystickAxesEnum.Yneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisYneg)); case MyJoystickAxesEnum.Zpos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisZpos)); case MyJoystickAxesEnum.Zneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisZneg)); case MyJoystickAxesEnum.RotationXpos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationXpos)); case MyJoystickAxesEnum.RotationXneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationXneg)); case MyJoystickAxesEnum.RotationYpos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationYpos)); case MyJoystickAxesEnum.RotationYneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationYneg)); case MyJoystickAxesEnum.RotationZpos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationZpos)); case MyJoystickAxesEnum.RotationZneg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationZneg)); case MyJoystickAxesEnum.Slider1pos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider1pos)); case MyJoystickAxesEnum.Slider1neg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider1neg)); case MyJoystickAxesEnum.Slider2pos: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider2pos)); case MyJoystickAxesEnum.Slider2neg: return(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider2neg)); } } break; } return(MyTextsWrapper.Get(MyTextsWrapperEnum.UnknownControl)); }
private void OnControlClick(MyGuiControlButtonParameters param, Dictionary <MyControl, MyGuiControlButton> buttonsDictionary, MyGuiInputDeviceEnum deviceType) { MyTextsWrapperEnum messageText = MyTextsWrapperEnum.AssignControlKeyboard; if (deviceType == MyGuiInputDeviceEnum.Mouse) { messageText = MyTextsWrapperEnum.AssignControlMouse; } else if (deviceType == MyGuiInputDeviceEnum.Joystick) { messageText = MyTextsWrapperEnum.AssignControlJoystick; } else if (deviceType == MyGuiInputDeviceEnum.JoystickAxis) { messageText = MyTextsWrapperEnum.AssignControlJoystickAxis; } MyGuiManager.AddScreen(new MyGuiControlAssignKeyMessageBox(buttonsDictionary, deviceType, param.Control, messageText)); }
private void LoadEditorControl(string[] control, MyEditorControlEnums controlType, MyGuiInputDeviceEnum device, int controlId) { switch (device) { case MyGuiInputDeviceEnum.Keyboard: Keys key = (Keys)Enum.Parse(typeof(Keys), control[controlId]); if (!IsKeyValid(key)) { throw new Exception("Key \"" + key.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedEditorControl(controlType, device).SetControl(key); break; case MyGuiInputDeviceEnum.Mouse: MyMouseButtonsEnum mouse = ParseMyMouseButtonsEnum(control[controlId]); if (!IsMouseButtonValid(mouse)) { throw new Exception("Mouse button \"" + mouse.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedEditorControl(controlType, device).SetControl(mouse); break; case MyGuiInputDeviceEnum.Joystick: MyJoystickButtonsEnum joy = ParseMyJoystickButtonsEnum(control[controlId]); if (!IsJoystickButtonValid(joy)) { throw new Exception("Joystick button \"" + joy.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedEditorControl(controlType, device).SetControl(joy); break; case MyGuiInputDeviceEnum.JoystickAxis: MyJoystickAxesEnum joyAxis = ParseMyJoystickAxesEnum(control[controlId]); if (!IsJoystickAxisValid(joyAxis)) { throw new Exception("Joystick axis \"" + joyAxis.ToString() + "\" is already assigned or is not valid."); } FindNotAssignedEditorControl(controlType, device).SetControl(joyAxis); break; case MyGuiInputDeviceEnum.None: break; default: break; } }
public string GetControlButtonName(MyGuiInputDeviceEnum deviceType) { m_toStringCache.Clear(); AppendBoundButtonNames(ref m_toStringCache, deviceType); return m_toStringCache.ToString(); }
public void AppendBoundButtonNames(ref StringBuilder output, MyGuiInputDeviceEnum device, string separator = null) { EnsureExists(ref output); switch (device) { case MyGuiInputDeviceEnum.Keyboard: if (separator == null) AppendName(ref output, m_keyboardKey); else AppendName(ref output, m_keyboardKey, m_KeyboardKey2, separator); break; case MyGuiInputDeviceEnum.KeyboardSecond: if (separator == null) AppendName(ref output, m_KeyboardKey2); else AppendName(ref output, m_keyboardKey, m_KeyboardKey2, separator); break; case MyGuiInputDeviceEnum.Mouse: AppendName(ref output, m_mouseButton); break; } }
public bool IsControlAssigned(MyGuiInputDeviceEnum deviceType) { bool isAssigned = false; switch (deviceType) { case MyGuiInputDeviceEnum.Keyboard: isAssigned = m_keyboardKey != MyKeys.None; break; case MyGuiInputDeviceEnum.Mouse: isAssigned = m_mouseButton != MyMouseButtonsEnum.None; break; } return isAssigned; }
public StringBuilder GetControlButtonStringBuilder(MyGuiInputDeviceEnum deviceType) { switch (deviceType) { case MyGuiInputDeviceEnum.Keyboard: if (m_keyboardKey != Keys.None) return new StringBuilder(MyKeysToString.GetKeyName(m_keyboardKey)); break; case MyGuiInputDeviceEnum.Mouse: switch(m_mouseButton) { case MyMouseButtonsEnum.Left: return MyTextsWrapper.Get(MyTextsWrapperEnum.LeftMouseButton); case MyMouseButtonsEnum.Middle: return MyTextsWrapper.Get(MyTextsWrapperEnum.MiddleMouseButton); case MyMouseButtonsEnum.Right: return MyTextsWrapper.Get(MyTextsWrapperEnum.RightMouseButton); case MyMouseButtonsEnum.XButton1: return MyTextsWrapper.Get(MyTextsWrapperEnum.MouseXButton1); case MyMouseButtonsEnum.XButton2: return MyTextsWrapper.Get(MyTextsWrapperEnum.MouseXButton2); } break; case MyGuiInputDeviceEnum.Joystick: if (m_joystickButton != MyJoystickButtonsEnum.None) { switch (m_joystickButton) { case MyJoystickButtonsEnum.JDLeft: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonLeft); case MyJoystickButtonsEnum.JDRight: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonRight); case MyJoystickButtonsEnum.JDUp: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonUp); case MyJoystickButtonsEnum.JDDown: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButtonDown); default: StringBuilder buttonName = new StringBuilder(MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickButton).ToString()); return buttonName.Append(((int)m_joystickButton - 4).ToString()); } } break; case MyGuiInputDeviceEnum.JoystickAxis: if (m_joystickAxis != MyJoystickAxesEnum.None) { switch (m_joystickAxis) { case MyJoystickAxesEnum.Xpos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisXpos); case MyJoystickAxesEnum.Xneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisXneg); case MyJoystickAxesEnum.Ypos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisYpos); case MyJoystickAxesEnum.Yneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisYneg); case MyJoystickAxesEnum.Zpos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisZpos); case MyJoystickAxesEnum.Zneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickAxisZneg); case MyJoystickAxesEnum.RotationXpos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationXpos); case MyJoystickAxesEnum.RotationXneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationXneg); case MyJoystickAxesEnum.RotationYpos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationYpos); case MyJoystickAxesEnum.RotationYneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationYneg); case MyJoystickAxesEnum.RotationZpos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationZpos); case MyJoystickAxesEnum.RotationZneg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickRotationZneg); case MyJoystickAxesEnum.Slider1pos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider1pos); case MyJoystickAxesEnum.Slider1neg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider1neg); case MyJoystickAxesEnum.Slider2pos: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider2pos); case MyJoystickAxesEnum.Slider2neg: return MyTextsWrapper.Get(MyTextsWrapperEnum.JoystickSlider2neg); } } break; } return MyTextsWrapper.Get(MyTextsWrapperEnum.UnknownControl); }
public String GetControlButtonName(MyGuiInputDeviceEnum deviceType) { return GetControlButtonStringBuilder(deviceType).ToString(); }
public MyGuiControlAssignKeyMessageBox(Dictionary<MyControl, MyGuiControlButton> buttonsDictionary, MyGuiInputDeviceEnum deviceType, MyControl control, MyTextsWrapperEnum messageText) : base(MyMessageBoxType.NULL, messageText, MyTextsWrapperEnum.SelectControl, null) { DrawMouseCursor = false; m_isTopMostScreen = false; m_backgroundTexture = MyTextureManager.GetTexture<MyTexture2D>("Textures\\GUI\\BackgroundScreen\\ProgressBackground", flags: TextureFlags.IgnoreQuality); m_size = new Vector2(598 / 1600f, 368 / 1200f); m_control = control; m_buttonsDictionary = buttonsDictionary; m_deviceType = deviceType; MyGuiManager.GetInput().GetListOfPressedKeys(m_oldPressedKeys); MyGuiManager.GetInput().GetListOfPressedMouseButtons(m_oldPressedMouseButtons); MyGuiManager.GetInput().GetListOfPressedJoystickButtons(m_oldPressedJoystickButtons); MyGuiManager.GetInput().GetListOfPressedJoystickAxes(m_oldPressedJoystickAxes); m_interferenceVideoColor = Vector4.One; m_closeOnEsc = false; m_screenCanHide = true; //Controls.Add(new MyGuiControlRotatingWheel(this, new Vector2(0, 0.05f), Vector4.One, MyGuiConstants.ROTATING_WHEEL_DEFAULT_SCALE, MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER)); }
public string GetControlButtonName(MyGuiInputDeviceEnum deviceType) { m_toStringCache.Clear(); AppendBoundButtonNames(ref m_toStringCache, deviceType); return(m_toStringCache.ToString()); }
private MyGuiControlButton MakeControlButton(MyControl control, Vector2 position, MyGuiInputDeviceEnum device) { StringBuilder boundText = null; control.AppendBoundButtonNames(ref boundText, device); MyControl.AppendUnknownTextIfNeeded(ref boundText, MyTexts.GetString(MyCommonTexts.UnknownControl_None)); var button = new MyGuiControlButton( position: position, text: boundText, onButtonClick: OnControlClick, visualStyle: MyGuiControlButtonStyleEnum.ControlSetting, originAlign: MyGuiDrawAlignEnum.HORISONTAL_CENTER_AND_VERTICAL_CENTER); button.UserData = new ControlButtonData(control, device); return button; }
private MyControl FindNotAssignedEditorControl(MyEditorControlEnums type, MyGuiInputDeviceEnum deviceType) { foreach (var item in m_editorControlsList) { if (item.GetEditorControlEnum().Value == type && item.IsControlAssigned(deviceType) == false) return item; } throw new Exception("Editor control \"" + MyEnumsToStrings.GameControlEnums[(int)type] + "\" not found at control list or control is already assigned."); }
public MyGuiControlAssignKeyMessageBox(MyGuiInputDeviceEnum deviceType, MyControl controlBeingSet, MyStringId messageText) : base( styleEnum: MyMessageBoxStyleEnum.Error, buttonType: MyMessageBoxButtonsType.NONE, messageText: MyTexts.Get(messageText), messageCaption: MyTexts.Get(MyCommonTexts.SelectControl), okButtonText: default(MyStringId), cancelButtonText: default(MyStringId), yesButtonText: default(MyStringId), noButtonText: default(MyStringId), callback: null, timeoutInMiliseconds: 0, focusedResult: ResultEnum.YES, canHideOthers: true, size: null) { DrawMouseCursor = false; m_isTopMostScreen = false; m_controlBeingSet = controlBeingSet; m_deviceType = deviceType; MyInput.Static.GetListOfPressedKeys(m_oldPressedKeys); MyInput.Static.GetListOfPressedMouseButtons(m_oldPressedMouseButtons); m_closeOnEsc = false; CanBeHidden = true; }
public String GetControlButtonName(MyGuiInputDeviceEnum deviceType) { return(GetControlButtonStringBuilder(deviceType).ToString()); }