public override void Initialize(int id, System.Func <int, bool> isFocusedCallback) { if ( spawnTransform == null || doneButton == null || cancelButton == null || defaultButton == null || uiControlSetPrefab == null || uiSliderControlPrefab == null || doneButtonLabel == null || cancelButtonLabel == null || defaultButtonLabel == null ) { Debug.LogError("Rewired Control Mapper: All inspector values must be assigned!"); return; } inputBehaviorInfo = new List <InputBehaviorInfo>(); buttonCallbacks = new Dictionary <int, System.Action <int> >(); // Set static element labels doneButtonLabel.text = ControlMapper.GetLanguage().done; cancelButtonLabel.text = ControlMapper.GetLanguage().cancel; defaultButtonLabel.text = ControlMapper.GetLanguage().default_; base.Initialize(id, isFocusedCallback); }
public override void Initialize(int id, Func <int, bool> isFocusedCallback) { if (this.spawnTransform == null || this.doneButton == null || this.cancelButton == null || this.defaultButton == null || this.uiControlSetPrefab == null || this.uiSliderControlPrefab == null || this.doneButtonLabel == null || this.cancelButtonLabel == null || this.defaultButtonLabel == null) { Debug.LogError("Rewired Control Mapper: All inspector values must be assigned!"); return; } this.inputBehaviorInfo = new List <InputBehaviorWindow.InputBehaviorInfo>(); this.buttonCallbacks = new Dictionary <int, Action <int> >(); this.doneButtonLabel.text = ControlMapper.GetLanguage().done; this.cancelButtonLabel.text = ControlMapper.GetLanguage().cancel; this.defaultButtonLabel.text = ControlMapper.GetLanguage().default_; base.Initialize(id, isFocusedCallback); }
public override void Initialize(int id, System.Func <int, bool> isFocusedCallback) { if ( rightContentContainer == null || valueDisplayGroup == null || calibratedValueMarker == null || rawValueMarker == null || calibratedZeroMarker == null || deadzoneArea == null || deadzoneSlider == null || sensitivitySlider == null || zeroSlider == null || invertToggle == null || axisScrollAreaContent == null || doneButton == null || calibrateButton == null || axisButtonPrefab == null || doneButtonLabel == null || cancelButtonLabel == null || defaultButtonLabel == null || deadzoneSliderLabel == null || zeroSliderLabel == null || sensitivitySliderLabel == null || invertToggleLabel == null || calibrateButtonLabel == null ) { Debug.LogError("Rewired Control Mapper: All inspector values must be assigned!"); return; } axisButtons = new List <Button>(); buttonCallbacks = new Dictionary <int, System.Action <int> >(); // Set static element labels doneButtonLabel.text = ControlMapper.GetLanguage().done; cancelButtonLabel.text = ControlMapper.GetLanguage().cancel; defaultButtonLabel.text = ControlMapper.GetLanguage().default_; deadzoneSliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_deadZoneSliderLabel; zeroSliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_zeroSliderLabel; sensitivitySliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_sensitivitySliderLabel; invertToggleLabel.text = ControlMapper.GetLanguage().calibrateWindow_invertToggleLabel; calibrateButtonLabel.text = ControlMapper.GetLanguage().calibrateWindow_calibrateButtonLabel; base.Initialize(id, isFocusedCallback); }
public void SetData(int playerId, ControlMapper.InputBehaviorSettings[] data) { if (!base.initialized) { return; } this.playerId = playerId; for (int i = 0; i < data.Length; i++) { ControlMapper.InputBehaviorSettings inputBehaviorSettings = data[i]; if (inputBehaviorSettings != null && inputBehaviorSettings.isValid) { InputBehavior inputBehavior = this.GetInputBehavior(inputBehaviorSettings.inputBehaviorId); if (inputBehavior != null) { UIControlSet uIControlSet = this.CreateControlSet(); Dictionary <int, InputBehaviorWindow.PropertyType> dictionary = new Dictionary <int, InputBehaviorWindow.PropertyType>(); string customEntry = ControlMapper.GetLanguage().GetCustomEntry(inputBehaviorSettings.labelLanguageKey); if (!string.IsNullOrEmpty(customEntry)) { uIControlSet.SetTitle(customEntry); } else { uIControlSet.SetTitle(inputBehavior.name); } if (inputBehaviorSettings.showJoystickAxisSensitivity) { UISliderControl uISliderControl = this.CreateSlider(uIControlSet, inputBehavior.id, null, ControlMapper.GetLanguage().GetCustomEntry(inputBehaviorSettings.joystickAxisSensitivityLabelLanguageKey), inputBehaviorSettings.joystickAxisSensitivityIcon, inputBehaviorSettings.joystickAxisSensitivityMin, inputBehaviorSettings.joystickAxisSensitivityMax, new Action <int, int, float>(this.JoystickAxisSensitivityValueChanged), new Action <int, int>(this.JoystickAxisSensitivityCanceled)); uISliderControl.slider.value = Mathf.Clamp(inputBehavior.joystickAxisSensitivity, inputBehaviorSettings.joystickAxisSensitivityMin, inputBehaviorSettings.joystickAxisSensitivityMax); dictionary.Add(uISliderControl.id, InputBehaviorWindow.PropertyType.JoystickAxisSensitivity); } if (inputBehaviorSettings.showMouseXYAxisSensitivity) { UISliderControl uISliderControl2 = this.CreateSlider(uIControlSet, inputBehavior.id, null, ControlMapper.GetLanguage().GetCustomEntry(inputBehaviorSettings.mouseXYAxisSensitivityLabelLanguageKey), inputBehaviorSettings.mouseXYAxisSensitivityIcon, inputBehaviorSettings.mouseXYAxisSensitivityMin, inputBehaviorSettings.mouseXYAxisSensitivityMax, new Action <int, int, float>(this.MouseXYAxisSensitivityValueChanged), new Action <int, int>(this.MouseXYAxisSensitivityCanceled)); uISliderControl2.slider.value = Mathf.Clamp(inputBehavior.mouseXYAxisSensitivity, inputBehaviorSettings.mouseXYAxisSensitivityMin, inputBehaviorSettings.mouseXYAxisSensitivityMax); dictionary.Add(uISliderControl2.id, InputBehaviorWindow.PropertyType.MouseXYAxisSensitivity); } this.inputBehaviorInfo.Add(new InputBehaviorWindow.InputBehaviorInfo(inputBehavior, uIControlSet, dictionary)); } } } base.defaultUIElement = this.doneButton.gameObject; }
public override void Initialize(int id, Func <int, bool> isFocusedCallback) { if (this.rightContentContainer == null || this.valueDisplayGroup == null || this.calibratedValueMarker == null || this.rawValueMarker == null || this.calibratedZeroMarker == null || this.deadzoneArea == null || this.deadzoneSlider == null || this.sensitivitySlider == null || this.zeroSlider == null || this.invertToggle == null || this.axisScrollAreaContent == null || this.doneButton == null || this.calibrateButton == null || this.axisButtonPrefab == null || this.doneButtonLabel == null || this.cancelButtonLabel == null || this.defaultButtonLabel == null || this.deadzoneSliderLabel == null || this.zeroSliderLabel == null || this.sensitivitySliderLabel == null || this.invertToggleLabel == null || this.calibrateButtonLabel == null) { Debug.LogError("Rewired Control Mapper: All inspector values must be assigned!"); return; } this.axisButtons = new List <Button>(); this.buttonCallbacks = new Dictionary <int, Action <int> >(); this.doneButtonLabel.text = ControlMapper.GetLanguage().done; this.cancelButtonLabel.text = ControlMapper.GetLanguage().cancel; this.defaultButtonLabel.text = ControlMapper.GetLanguage().default_; this.deadzoneSliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_deadZoneSliderLabel; this.zeroSliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_zeroSliderLabel; this.sensitivitySliderLabel.text = ControlMapper.GetLanguage().calibrateWindow_sensitivitySliderLabel; this.invertToggleLabel.text = ControlMapper.GetLanguage().calibrateWindow_invertToggleLabel; this.calibrateButtonLabel.text = ControlMapper.GetLanguage().calibrateWindow_calibrateButtonLabel; base.Initialize(id, isFocusedCallback); }
public void SetData(int playerId, ControlMapper.InputBehaviorSettings[] data) { if (!initialized) { return; } this.playerId = playerId; // Create control sets for (int i = 0; i < data.Length; i++) { var item = data[i]; if (item == null || !item.isValid) { continue; } InputBehavior inputBehavior = GetInputBehavior(item.inputBehaviorId); if (inputBehavior == null) { continue; } UIControlSet set = CreateControlSet(); Dictionary <int, PropertyType> idToProperty = new Dictionary <int, PropertyType>();; // Set the title string customTitle = ControlMapper.GetLanguage().GetCustomEntry(item.labelLanguageKey); if (!string.IsNullOrEmpty(customTitle)) { set.SetTitle(customTitle); } else { set.SetTitle(inputBehavior.name); } // Create sliders if (item.showJoystickAxisSensitivity) { UISliderControl slider = CreateSlider( set, inputBehavior.id, null, ControlMapper.GetLanguage().GetCustomEntry(item.joystickAxisSensitivityLabelLanguageKey), item.joystickAxisSensitivityIcon, item.joystickAxisSensitivityMin, item.joystickAxisSensitivityMax, JoystickAxisSensitivityValueChanged, JoystickAxisSensitivityCanceled ); // Set initial value slider.slider.value = Mathf.Clamp(inputBehavior.joystickAxisSensitivity, item.joystickAxisSensitivityMin, item.joystickAxisSensitivityMax); // Store property type idToProperty.Add(slider.id, PropertyType.JoystickAxisSensitivity); } if (item.showMouseXYAxisSensitivity) { UISliderControl slider = CreateSlider( set, inputBehavior.id, null, ControlMapper.GetLanguage().GetCustomEntry(item.mouseXYAxisSensitivityLabelLanguageKey), item.mouseXYAxisSensitivityIcon, item.mouseXYAxisSensitivityMin, item.mouseXYAxisSensitivityMax, MouseXYAxisSensitivityValueChanged, MouseXYAxisSensitivityCanceled ); // Set initial value slider.slider.value = Mathf.Clamp(inputBehavior.mouseXYAxisSensitivity, item.mouseXYAxisSensitivityMin, item.mouseXYAxisSensitivityMax); // Store property type idToProperty.Add(slider.id, PropertyType.MouseXYAxisSensitivity); } // mouseOtherAxisSensitivity not implemented // Add to the list inputBehaviorInfo.Add(new InputBehaviorInfo(inputBehavior, set, idToProperty)); } // Set default UI element defaultUIElement = doneButton.gameObject; }
public void SetJoystick(int playerId, Joystick joystick) { if (!initialized) { return; } this.playerId = playerId; this.joystick = joystick; if (joystick == null) { Debug.LogError("Rewired Control Mapper: Joystick cannot be null!"); return; } // Create axis list float buttonHeight = 0.0f; for (int i = 0; i < joystick.axisCount; i++) { int index = i; GameObject instance = UITools.InstantiateGUIObject <Button>(axisButtonPrefab, axisScrollAreaContent, "Axis" + i); Button button = instance.GetComponent <Button>(); button.onClick.AddListener(() => { OnAxisSelected(index, button); }); Text text = UnityTools.GetComponentInSelfOrChildren <Text>(instance); if (text != null) { text.text = ControlMapper.GetLanguage().GetElementIdentifierName(joystick, joystick.AxisElementIdentifiers[i].id, AxisRange.Full); } if (buttonHeight == 0.0f) { buttonHeight = UnityTools.GetComponentInSelfOrChildren <LayoutElement>(instance).minHeight; } axisButtons.Add(button); } // set axis list height float vSpacing = axisScrollAreaContent.GetComponent <VerticalLayoutGroup>().spacing; axisScrollAreaContent.sizeDelta = new Vector2(axisScrollAreaContent.sizeDelta.x, Mathf.Max((joystick.axisCount * (buttonHeight + vSpacing) - vSpacing), axisScrollAreaContent.sizeDelta.y)); // Store the original calibration data so we can revert origCalibrationData = joystick.calibrationMap.ToXmlString(); // Record info displayAreaWidth = rightContentContainer.sizeDelta.x; // Try to get the UI control axis deadzone from the RewiredStandaloneInputModule if it exists in the hierarchy // This is used to prevent users from rendering menu navigation axes unusable by changing the axis sensitivity rewiredStandaloneInputModule = gameObject.transform.root.GetComponentInChildren <RewiredStandaloneInputModule>(); if (rewiredStandaloneInputModule != null) { menuHorizActionId = ReInput.mapping.GetActionId(rewiredStandaloneInputModule.horizontalAxis); menuVertActionId = ReInput.mapping.GetActionId(rewiredStandaloneInputModule.verticalAxis); } // Select first axis if (joystick.axisCount > 0) { SelectAxis(0); } // Set default UI element defaultUIElement = doneButton.gameObject; // Draw window RefreshControls(); Redraw(); }